解题思路:





注意事项:
笔记




参考代码:

#include<stdio.h>
#include<math.h>//求x^y (函数double pow(double x,double y);)
//运用函数递归调用,自定义函数GetAdd()。
int GetAdd(int t)
{
 int y;//用以返回n个加数中每一位的数值。
 if(t==0)
 {
  return y=2;
 }
 else
  return y=2*(int)(pow(10,t))+GetAdd(t-1);
}
int main()
{
 int a=2,n;
 int sn=0,i=0;
 scanf("%d",&n);
 while(n<0)
 {
  scanf("%d",&n);
 }
 for(i=0;i<n;i++)
 {
  sn=sn+GetAdd(i);
 }
 printf("%d",sn); 
 return 0;
}

正常方法:

#include<stdio.h>
int main()
{
    int i,n,a=2,sn1=0,sn=0;                                                                     
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        sn1=sn1*10+a;  //0*10+2;2*10+2;22*10+2......                        
        sn+=sn1;
    }
    printf("%d",sn);
    return 0;
}

点赞(1)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论