概述
高斯曾经很快的做了下面的题,要知道那会是1786年
题目是:请用速算法计算
1、2、3、4,···,98、99、100的总和。
今天用java来实现高斯的计算过程
分别计算的是100和101个数相加
package com.burns.test2;
public class Dcsl {
public static void main(String[] args) {
int sum100=test100(100);
System.out.println("sum100:"+sum100);
int sum101=test100(101);
System.out.println("sum101:"+sum101);
}
private static int test100(int length) {
int[] intArr = new int[length];
for(int i=0;i<length;i++){
intArr[i]=i+1;
// System.out.println(i+"=="+intArr[i]);
}
int mod = intArr.length%2;//对2取模
if(mod==0){
return (length/2)*(intArr[0]+intArr[length-1]);
}else {
return (length/2)*(intArr[0]+intArr[length-1])+intArr[(length-1)/2];//这里注意后面加的是中间的值,下标是(length-1)/2,而不是(length+1)/2
}
}
}
运行结果
参考
数学王子——高斯 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/138570349
最后
以上就是柔弱毛衣为你收集整理的java实现算法:等差数列求和——2参考的全部内容,希望文章能够帮你解决java实现算法:等差数列求和——2参考所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复