题目:利用递归求1+2+3...100的和

本文介绍了一道面试笔试题,通过递归方法计算1到100的和。递归是一种自我调用的思想,实现时必须设置正确的退出条件以避免死循环。文中提供了简单的代码示例。
摘要由CSDN通过智能技术生成

在面试的时候遇到了这样的一道笔试题目,就是利用递归求出1到100的和,也就是1+2+3+........+100。

怎么说呢,递归是一种思想,用大白话来说,就是自己调用自己。

如一个方法A(),然后在方法A()中再次调用自己,但是利用递归的时候特别需要注意的就是跳出递归的条件,否则的话就会出现死循环的情况,也就是一直在执行的某一个方法。

以下为简单的代码实现:

package com.ak.demo;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;

/**
 * 利用递归实现求1+2+3+4+......+100的和(这里写为了求1到n的和了)
 * @author Administrator
 *
 */
public class RecursiveDemo {
	
	public static void main(String[] args) {
		//键盘输入
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		
		/*Scanner scan = new Scanner(System.in);
		System.out.println("请输入要计算的最大值:");
		int number;
		try {
			number = scan.nextInt();
			int sum = recurisive(number);
			System.out.println(sum);
		} catch (Exception e) {
			throw new RuntimeException("您输入的不是数字");
		}*/
		try {
			System.out.println("请输入需要求和的最大值并按回车键结束:");
			String number = in.readLine();
			int sum = recurisive(Integer.parseInt(number));
			System.out.println("所求的和为:" + sum);
			
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	/**
	 * 递归思想:简单的说就是自己调用自己,但是必须有一个出口,否则就会出现死循环的情况
	 * @param number
	 * @return
	 */
	public static int recurisive(int number){
		if(1 == number){
			return 1;
		}else{
			return number + recurisive(number - 1);
		}
		
	}
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值