首页 > 其他 > 详细

1+2+3+...+100=?

时间:2016-08-30 13:38:10      阅读:296      评论:0      收藏:0      [点我收藏+]
int main()
{
   // 我要计算出1+2+3+...+100的值
   int i = 0, n = 100, sum = 0;    
   for (i; i <= n; i++) {
       sum += i;
   }
   printf("%d\n", sum);
   
   // 这对于电脑很轻松,只要重复一百次循环就可以了。但是人不行,累啊。
   // 所以要有一个合理的算法。
   // 数学家高斯(九岁时)也遇到了这个问题,他很快算出答案是5050
   // 首尾对应位置上的数字相加都是101,这样的首尾数字对一共有50个,相乘就是5050!
   // 好厉害!
   sum = ((1 + n) * n) / 2;
   printf("%d\n", sum);
   
   // 对于n=100的情况,电脑少操作了99步,推导至更为普遍的情况
   // 就是1次与n次的差别!
}

1+2+3+...+100=?

原文:http://www.cnblogs.com/zhangbao/p/5821590.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!