|
10鱼币
我是初学者,别喷
题目链接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;
- }
复制代码 Python- S = 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)
复制代码
|
|