我是靠谱客的博主 柔弱毛衣,最近开发中收集的这篇文章主要介绍java实现算法:等差数列求和——2参考,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

高斯曾经很快的做了下面的题,要知道那会是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)icon-default.png?t=M4ADhttps://zhuanlan.zhihu.com/p/138570349 

最后

以上就是柔弱毛衣为你收集整理的java实现算法:等差数列求和——2参考的全部内容,希望文章能够帮你解决java实现算法:等差数列求和——2参考所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部