解题思路: 一、可以将这个看成一个数列,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语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:569 |
【计算球体积】 (C语言代码)浏览:1070 |
【蟠桃记】 (C语言代码)浏览:2263 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:736 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:546 |
剔除相关数 (C语言代码)浏览:1058 |
回文串 (C语言代码)浏览:3096 |
A+B for Input-Output Practice (III) (C语言代码)浏览:592 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)浏览:2099 |
printf基础练习2 (有点不明白)浏览:887 |