一:普通方法
如1+2+3+....+100通常在写代码时想到的是设一个 int i 变量使他从1变到100,然后一个int sum变量进行逐项求和
代码为:
#include<iostream>
using namespace std;
int main()
{
int n, i;
cout << "请输入你要求和的数:" << endl;
while (cin >> n) {
int sum = 0;
for (i = 1; i <= n ;i++)
sum += i;
cout << "结果是:" << sum << endl;
}
return 0;
}
二:高斯方法:
如1到100的求和顺序可以是正序:sum=1+2+3+....+100,当然也可以是逆序 sum=100+99+98+....+1,将正序和逆序相加得到:
2*sum=101+101+.....101(100个101),则sum=(101)*100/2,
最后得到一个通项公式为:sum=(n+1)*n/2;
代码为:
#include<iostream>
using namespace std;
int main()
{
int n, sum;
cout << "请输入你要求和的数:" << endl;
while (cin >> n) {
sum = (n + 1) * n / 2;
cout << "结果是:" << endl;
cout << sum << endl;
}
return 0;
}