象鼻山在桂林哪个区:用C++编程计算1+11+111+……+111111111。

来源:百度文库 编辑:神马品牌网 时间:2024/05/05 08:55:02
如果哪位高手会的话,请给出全部的过程,多谢

#include <iostream>
using namespace std;

int main()
{
int i,n=1;
long sum=0;
cout<<"输入最后一个数的位数:";
cin>>i;
for(int k=0;k<i;k++)
{
sum+=n;
n=n*10+1;
}
cout<<sum<<endl;
return 0;
}
这个程序不止可以算你给的式子,还可以根据要求算更多位数或更少位数的。不过我试了一下,i不能大于14,要不sum会溢出的。

int s=0;
int a=1;
while(a!=111111111)
{
s=s+a;
a=a*10+1;
}
//输出s

如果是C#的话
string a="1";
int b=1;
while (a!="111111111")
{
a+="1";
b+=Convert.ToInt32(a);
}

这个用循环反而慢呀,直接写个式子算出来赋给某变量,然后输出就行了。

不错
自己写不是好个办法

抱歉,看错了。。。