小题目大智慧(四)
求和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)
爱学习的学渣