关于csp题目的问题
我是初学者,别喷题目链接https://www.luogu.com.cn/problem/P1035
写了两份
这个过了
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
double s=0.0000;
int n,k;
cin>>k;
for(n=0;s<=k;)
{
n++;
s+=(1.0/n);
}
printf("%d",n);
return 0;
}
这个没过
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
double s=0.0000;
int n,k;
cin>>k;
for(n=1;s<=k;n++)s+=(1.0/n);
printf("%d",n);
return 0;
}
这两份有啥区别啊?有没有dalao指点下? C++#include <iostream>
double S(int n){
double sum = 0;
for(int i = 1; i < n+1; i++) sum += (1/(float)i);
return sum;
}
int main(){
int n = 1, k;
std::cin >> k;
while(S(n) <= k) n++;
std::cout << n << std::endl;
return 0;
}C#include <stdio.h>
double S(int n){
double sum = 0;
for(int i = 1; i < n+1; i++) sum += (1/(float)i);
return sum;
}
int main(){
int n = 1, k;
scanf("%d", &k);
while(S(n) <= k) n++;
printf("%d", n);
return 0;
}PythonS = lambda n: sum([(1/i) for i in range(1, n+1)])
k = int(input())
n = 1
while S(n) <= k:
n += 1
print(n)5
83 应该是顺序问题吧 for(n=0;s<=k;)
for(n=1;s<=k;n++)
一个从0开始,一个从1开始,不一样的
hrpzcf 发表于 2021-10-27 08:30
for(n=0;s
但第一次运行时理论来讲n都是1啊
本帖最后由 hrpzcf 于 2021-10-27 12:25 编辑
yangdoubao 发表于 2021-10-27 10:44
但第一次运行时理论来讲n都是1啊
因为第二个,循环最后一步是n++,结果多1了。
页:
[1]