b=1
b=10
b=100
b=1000
......
即 b*=10;
temp=2*1
temp=2*1+2*10
temp=2*1+2*10+2*100
......
即 temp+=2*b;(特殊的,i==1时,temp+=2;)
temp每添加一节,sum就加一次temp。
即 sum+=sum;
一开始我以为要双层for循环才能解决。思考了一会儿才发现,一个for循环就能解决,temp每增长一节,sum就加一次temp。
#include<stdio.h>
int main()
{
int n,temp=0,sum=0,b=1;
scanf("%d",&n);
for (int i = 1; i <=n; i++)
{
if (i == 1)
{
temp += 2;
}
else {
b *= 10;
temp += 2 * b;
}
sum += temp;
}
printf("%d\n", sum);
return 0;
}
0.0分
0 人评分
【回文数(二)】 (C语言代码)浏览:851 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:501 |
不会做的浏览:870 |
简单的a+b (C语言代码)浏览:573 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:879 |
简单的a+b (C语言代码)浏览:596 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:594 |
C语言训练-数字母 (C语言代码)浏览:649 |
【简单计算】 (C语言代码)浏览:622 |
C语言程序设计教程(第三版)课后习题6.8 (C++代码)浏览:575 |