求1~100的和
来源:互联网 发布:观察者手机控制软件 编辑:程序博客网 时间:2024/05/22 23:59
第一种普通的解法:
public int getSum(int n) { int sum = 0; for(int i=0;i<=n;i++) { sum += i; } return sum;}System.out.println("1~100的和为:" + getSum(100));
上面的程序虽然可以计算出正确的结果,但是使用了for循环进行累加,这样执行的步骤多,效率低下,我们来看看第二种解法:
据说18世纪生于德国小村庄的高斯,上小学的一天,课堂很乱,老师非常生气,于是老师在放学时就要求每个学生都计算1+2+3+…+100的结果,谁先做出来谁就可以回家了。
高斯很快就得出了答案,是5050.老师非常惊讶,问你是怎么算的?
高斯解释道:
sum = 1 + 2 + 3 + ... + 99 + 100 sum = 100 + 99 + 98 + ... + 2 + 1 2*sum = 101 + 101 + 100 + ... + 101 + 101 2*sum = 101 * 100 sum = 5050
太机智了,那么我们用程序来实现以下吧;
public int getSum(int n) { int sum = 0; int n = 100; sum = (1 + n) * n / 2; return sum;}
神童就是神通,他用的方法相当于另一种等差数列的算法,不仅仅可以用于1加到100,就是加到一千、一万、一亿也是可以的。并且非常容易计算,但是使用第一种方式来计算的话计算机就要循环一千、一万、一亿次的加法运算,效率的差别非常明显啊。
0 0
- 求1~100的和
- 求1+2+3+.....+100的和
- 求1-100所有质数的和
- while循环求1-100的和
- 求1到100的和。
- 求1-100的和,偶数和,奇数和
- 求1!+....+5!的和
- 求1~n的和
- 发散 求1-100的和的方法
- setjmp的使用 -循环求1~100的和
- 求阶层(求1+2!+3!+...+20!的和)
- 利用循环,求1~100,之间100个数的和
- 曾经的面试题:求1+2+.......+100和。
- 求1-100之间奇数的和是多
- 题目:利用递归求1+2+3...100的和
- 求1-100之内的奇数偶数和
- 五种方法求1到100的和
- SQL中while语句求1到100的和
- Android手记——Edittext
- C-FREE5 运行时出现 ld.exe报错 以及之后发生....
- 随笔-_SCNetworkReachabilityGetFlags报错原因
- [JavaWeb]JavaSocket获取网页源代码遇见的问题。
- Java之用继承进行设计详解(附源码)
- 求1~100的和
- Remove Duplicates from Sorted List
- 极光推送使用
- JS之常用互动方法
- 最后的打板计划
- Android学习笔记(SharedPreferences的使用)
- 华为机试题--高铁换乘(Floyed算法)
- 234. Palindrome Linked List
- HDU 4807 Lunch Time(费用流)