解题思路: 一、可以将这个看成一个数列,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 人评分
点我有惊喜!你懂得!浏览:1377 |
简单的a+b (C语言代码)浏览:673 |
printf基础练习2 (C语言代码)浏览:631 |
C语言训练-角谷猜想 (C++代码)(3N+1问题)浏览:1835 |
数列排序 (C语言代码)浏览:856 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)for循环浏览:1166 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:610 |
C语言训练-求PI* (C语言代码)浏览:628 |
WU-格式化数据输出 (C语言代码)浏览:1807 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:679 |