如题:
数学家高斯很小的时候就天分过人。一次老师指定的算数题目是:1+2+…+100。
高斯立即做出答案:5050!
这次你的任务是类似的。但并非是把一个个的数字加起来,而是对该数字的每一个数位作累加。
这样从1加到100的“和”是:901
从10加到15是:21,也就是:1+0+1+1+1+2+1+3+1+4+1+5,这个口算都可以出结果的。
按这样的“加法”,从1加到1000是多少呢? 请通过浏览器提交该结果。
当然,我们并不期望你能像高斯一样,发现数字背后深奥的秘密,只要请计算机帮忙,一切都easy!
注意:你需要提交的是一个整数,不要填写任何多余的内容(比如:说明性文字)
这题比较简单,构建个函数
#include <bits/stdc++.h>
using namespace std;
int change(int a)
{
int i,sum = 0;//备用
for(i = a;i>0;i/=10)
{
sum += i%10;
}
return sum;
}
int main()
{
int res = 0;
int i;
for(i = 1;i<=1000;i++)
{
res += change(i);
}
cout<<res<<endl;
}
答案:13501