解题思路: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语言代码)浏览:1126 |
点我有惊喜!你懂得!浏览:2074 |
校门外的树 (C语言代码)浏览:1122 |
C语言训练-斐波纳契数列 (C语言代码)浏览:1173 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:880 |
完数 (C语言代码)浏览:693 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:667 |
母牛的故事 (C语言代码)浏览:715 |
水仙花 (C语言代码)浏览:1052 |
Hello, world! (C语言代码)浏览:714 |