洛谷 P1035 级数求和 已知:S_n= 1+1/2+1/3+…+1/nS n =1+1/2+1/3+…+1/n。显然对于任意一个整数KK,当nn足够大的时候,S_nS n 大于KK。 现给出一个整数KK(1 \le k \le 151≤k≤15),要求计算出一个最小的nn;使得S_n>KS n >K。 输入输出格式 输入格式: 一个正整数KK 输出格式: 一个正整数
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n, k;
double s;
scanf("%d", &k);
s = 0.0;
n = 1;
while (1) //死循环
{
s = s + 1.0/n; //求s=1+1/2+...+1/n
if(s > k)
{
printf("%d\n", n);
break; //跳出死循环
}
n++;
}
return 0;
}
浙公网安备 33010602011771号