求助一道C++题目

来源:百度知道 编辑:UC知道 时间:2024/06/21 21:50:07
要求11+22+33+44+.......+3030的结果,怎么做?

int sum=0,sum1=0,sum2=0; //计算总和
int i;
for(i=1;i<=9;i++)
sum1+=i+i*10;
for(i=10;i<=30;i++)
sum2+=i+i*100;
sum=sum1+sum2;
(我的思路主要是根据数据的对称性,然后又将一位的(1—9)和两位的(10—30)分开来算的。相信会有更好的算法。

#include <iostream>
using namespace std;
int main()
{
long sum=0;
for(int i(11);i<=3030;i+=11)
sum+=i;
cout<<sum<<endl;
system("pause");
return 0;
}

这样的话我的也就不对了,现丑!!

个人觉得最后一个数应该是330比较合适,或者3300.

#include <iostream.h>
void main()
{
long int n,s;

for (n=1,s =0;n<=30;n++)

{
if(n<9)

s = s+n+n*10;
else

s = s+n+n*100;
}

cout<<"多项式的和为:"<<s<<endl;

}

给出一个 99-3030 之间的数,才能作出来。
11+22+33+44+.......+3030 看不出 规律来。

分段 作不知怎么样 11-99, 1010-3030