解题思路: 一、可以将这个看成一个数列,an代表这个是第几项,Sn代表前几项的和。
二、通过观察可以看到每一项都是上一项的10倍加2(除了第一项),即an=10an+2;例如:22=2*10+2;222=22*10+2;
三、利用for循环求出每一个an;
四、通过Sn做每一次累加即可,即Sn+=an。
注意事项: an要初始化为0,只有这样才可以得到第一项为2,;
参考代码:
#include<stdio.h>
int main()
{
int n,i,an=0,Sn=0;
while(~scanf("%d",&n))
{
for(i=0;i<n;i++)
{
an=10*an+2;
Sn+=an;
}
}
printf("%d",Sn);
}
0.0分
1 人评分
C二级辅导-同因查找 (C++代码)(42的倍数,,所以直接递加42输出)浏览:1160 |
点我有惊喜!你懂得!浏览:4067 |
C语言训练-计算1~N之间所有奇数之和 (C语言代码)浏览:752 |
C二级辅导-计负均正 (C语言代码)浏览:648 |
震宇大神的杀毒软件 (C语言代码)浏览:1334 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C++代码)(手动优化一下计算)浏览:1358 |
P1002 (C语言代码)浏览:1019 |
C语言程序设计教程(第三版)课后习题6.6 (C语言代码)浏览:626 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:731 |
C语言程序设计教程(第三版)课后习题8.2 (C语言代码)浏览:5268 |