人人网2017实习-求数列的和

本文介绍了一种通过递归方式实现的数列求和算法。该算法接受两个参数n和m,n为数列首项,之后每一项为前一项的平方根,m为求和项数。文中提供了一个Java实现示例,包括输入处理和递归求和过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

考查递归。

package 人人网;

import java.util.Scanner;

/** 
 * 题目描述:数列的定义如下:数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。
 * 输入:输入数据有多组,每组占一行,由两个整数n(n<10000)和m(m<1000)组成,n和m的含义如前所述。
 * 输出:对于每一组输入数据,输出该数列的和,每个测试实例占一行,要求经度保留2为小数。
 * 样例输入:
 * 81 4
 * 2 2
 * 样例输出:
 * 94.73
 * 3.41
 */
public class Q2017笔试_2 {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		while(scanner.hasNext()){
			int n = scanner.nextInt();
			int m = scanner.nextInt();
			double result = get((double)n, m);
			System.out.println(String.format(".%2f", result));
		}

	}
	/**
	 * 函数功能:递归求解数列n,m的和。
	 * @param n
	 * @param m
	 * @return
	 */
	public static double get(Double n, int m){
		if(n <= 0){
			return 0;
		}
		
		if(m == 0){
			return n;
		}
		
		return n + get(Math.sqrt(n), m-1);
	}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值