題目描述
已知: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);
}
}