clhjswe @ 2017-05-22 17:29:23
#include <stdio.h>
void main()
{
float n=0;
int i=0
short int k;
scanf("%d",&k);
while(n<=k)
n=n+1.0/++i;
printf("%d",i);
}
by 封癫 @ 2017-05-22 18:15:27
@LJW_559_2291237307 首先
main只能是int类型
其次你没打分号
我估计你编译都没过
by clhjswe @ 2017-05-22 20:59:42
@封癫 这个呢
#include <stdio.h>
int main()
{
float n=0;
int i=0;
short int k;
scanf("%d",&k);
while(n<=k)
n=n+1.0/++i;
printf("%d",i);
return 0;
}
还只有60分
by 封癫 @ 2017-05-22 21:03:15
说不定你要用double
@LJW_559_2291237307
by 暮心MuShin @ 2017-06-01 21:09:44
就是用double才有剩下的40分
by liuxu @ 2017-06-10 14:46:45
题目描述
已知: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
by liuxu @ 2017-06-10 14:47:26
#include <iostream>
#include <cstdio>
using namespace std;
int main(){
int k,n=100000000,i;
double Sn=0;
cin>>k;
for(i=1;i<=n;i++){
Sn+=1.0/i;
if(Sn>k){
cout<<i<<endl;
break;
}
}
return 0;
}
by liuxu @ 2017-06-10 14:48:09
@liuxu 这个可以过你看看