#include "stdio.h"
#include "stdlib.h"
#include "math.h"
main()
{
int n,i;
long int w,s=0;
int k=1;
printf("请输入N的值(n<10)\n");
scanf("%d",&n);
while(k<=n)
{
w=0;
for(i=0;i<k;i++)
{
w+=(long int)pow(10,i)*k;
}
s+=w;
k++;
}
printf("%d\n",s);
system("pause");
return main();
}
我问的是这个算法有没有错误。因为最后得出来的结果不对。N为1,2的时候是对的,但是从3开始就不对了~~
3的结果是353 4的结果是4793.
我是用DEV-c++4.9.9.2 运行的。真的结果不对。会不会是我的软件有问题或者设置不对。
参考资料:自己经验