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