一:普通方法
如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,将正序和逆序相加得到:
2sum=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;
}
原文链接: https://www.cnblogs.com/liyaning/p/12899900.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/197422
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!