2 条题解

  • 0
    @ 2025-5-4 10:29:57
    #include<bits/stdc++.h>
    using namespace std;
    int main(){
        int k,n=0;
        double Sn=0;
        cin>>k;
        while(Sn<=k){
            n++;
            Sn+=1.0/n;
        } 
        cout<<n;
    }
    
    • 0
      @ 2024-12-22 11:04:00

      C :

      #include <stdio.h>
      int main()
      {int k,n=0;
      double Sn=0;//这道题的关键在于定义Sn为double,如果是float只过60%的数据
      scanf("%d",&k);
      while(Sn<=k)
      {n++;
      Sn+=1.0/n;//注意分子或分母必须有小数点
      } 
      printf("%d",n);
      }
      

      Java :

      import java.util.Scanner;
      
      public class Main {
      
      	public static void main(String[] args) {
      		// TODO Auto-generated method stub
      		Scanner input=new Scanner (System.in);
      		int k=input.nextInt();
      		double a=0;
      		int i=0;
      		while(a>=0){
      			a+=(double)1/(i+1);
      			i++;
      			if(a>k) {
      				System.out.println(i);
      				a=-1;
      			}
      			}
      		}
      	}
      
      • 1

      信息

      ID
      199
      时间
      1000ms
      内存
      125MiB
      难度
      10
      标签
      递交数
      10
      已通过
      1
      上传者