小题目大智慧(四)

求和1+2+3+4+........+n,java和Python两种方式实现:

解析:java实现,两种方式,一种方式:从1开始加,一直加到N,定义一个方法,将sum初始化,赋值为0,有一个值就开始加,即:sum = sum +i,声明一个变量n,定义n的值为加到n。

        第二种方式:从n开始加,n+(n-1)+(n-1-1)+.....1(递归) 使用的技术点:三目运算符,判断条件?true:false(方法2更推荐)

  

public class SumNum {
    public static void main(String[] args) {
        System.out.println(SumNum(10));
        System.out.println(Sum2(10));
    }

    public static int SumNum(int n) {
        int sum = 0;
        int i;

        if (n < 1)
            return sum;

        for (i = 1; i <= n; i++) {
            sum = sum + i;
        }
        return sum;

    }

    public static int Sum2(int m) {
        int nSum = m;
        return m > 0 ? nSum += Sum2(--m) :nSum;
    }


}

 

使用Python实现:

解析:定义一个函数,使用列表推导式,循环出1~n,使用sum方法,求列表里面的和

def SumNum(n):
    print(sum([i for i in range(n)]))
SumNum(10)

 

posted @ 2018-05-11 14:41  爱学习的学渣  阅读(104)  评论(0编辑  收藏  举报