递归

1到n的和

public static void main(String[] args) {
		// TODO Auto-generated method stub
		int n = new Scanner(System.in).nextInt();
		System.out.println(f(n));
		System.out.println(f2(n));
	}
/*1到n的和 好比站着一排人 自己当然不知道自己在第几位  就问前面一位  前面也不知道就继续往前问 当第一个问第0个才知道自己前面没人 (这也是就是递归的出口) 他知道自己是第一位  就给后面说我是第一位  第二位也就知道他是第二位了 以此类推 直到自己
当然 我们算的是1到n的和 所以不光知道自己是第几位 还要把数值累加起来  

如果不理解 看for循环
*/
	public static int f(int n) {
		if (n == 0) {
			return 0;
		}
		
		return n + f(n - 1);
	}

/*
循环结束的条件是i>=0  递归的出口就是n==0   for循环是每次n--  递归n-1     
求和是sum+=i 加到i为0的时候     递归第n位加上上一位直到第一位前面为0的时候

*/
	public static int f2(int n) {
		int sum=0;
		for(int i=n;i>=0;i--) {
			sum+=i;
		}
		return sum;
	}

如果理解了 可以尝试 x 到 n的和

因为我也是初学着 以互相学习为目的 当然也很多地方不对 希望指出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值