cometoj——C0170 [2002普及組-A]級數求和

題目描述

已知:Sn=1+1/2+1/3+…+1/n。顯然對於任意一個整數 K,當 n 足夠大的時候,Sn大於 K。

現給出一個整數 K(1≤k≤15),要求計算出一個最小的 n;使得 Sn>K。

輸入描述

一個正整數 K

輸出描述

一個正整數 N

樣例輸入 1

1
樣例輸出 1

2

思路:這裏我們用遞歸來計算,要注意的點就是用doule來記錄sum。


import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner read=new Scanner(System.in);
		int k=read.nextInt();
		int count=0;
		double sum=0;
		int i=1;
		while(sum<=k)
		{
			double num=1.0/i;
			sum+=num;
			i++;
			count++;
		}
		System.out.println(count);
	}

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章