时间限制: 1 Sec 内存限制: 128 MB
题目描述
已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。
现给出一个整数K(1<=k<=15),要求计算出一个最小的n;使得Sn>K。输入
键盘输入 k
输出
屏幕输出 n
样例输入 Copy
1样例输出 Copy
2
#include<stdio.h>
int main()
{
int i,n,K;
double sum;
scanf("%d",&K);
sum=0.0;
i=1;
do
{
sum=sum+1.0/i;
i=i+1;
}while(sum<=K);
n=i-1;
printf("%d",n);
return 0;
}
该程序计算了一个整数K(1≤K≤15)对应的最小n值,使得序列1+1/2+1/3+...+1/n的和大于K。通过不断累加序列项并检查和是否超过K,直至找到满足条件的n。
363

被折叠的 条评论
为什么被折叠?



