一:普通方法
如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;
}