解题思路:S0 = 0; A0 = 0
A1 = A0 * 10 + 2 = 2; S1 = A1 + S0 = 2 ;
A2 = A1 * 10 + 2 = 22; S2 = A2 + S1= 22 + 2;
A3 = A2 * 10 + 2 = 222; S3 = A3 + S2 = 222 + 22 + 2;
.........以此类推
An = A(n-1) * 10 + 2; Sn = An + S(n-1);
注意事项:
可能要注意的就是循环这里,如果判断条件是在大于或小于的条件上还加上等于,初始i应赋值1,否则赋值0;
参考代码:
#include<stdio.h>
int main(void)
{
int An = 2, Sn = 0; //此时就相当于 A1 = 2, S0 = 0;
int n, i;
scanf("%d", &n);
for (i = 0; n > i; i++)
{
Sn = An + Sn;
An = An * 10 + 2;
}
printf("%d", Sn);
return 0;
}
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复