1 条题解

  • 0
    @ 2025-4-7 21:41:57

    C :

    #include<stdio.h>
    
    int main()
    {
    	long n,i,t,c;
    	double sum;
    	while(scanf("%ld",&n),n!=0)
    	{
    		for(sum=0,c=0,i=1;i<=n-1;i++,c++)
    			sum+=1.0/(n-c)*(c+1);
    		sum=sum*2+n;
    		printf("%.2lf\n",sum);
    	}
    	return 0;
    }
    

    C++ :

    #include<stdio.h>
    
    int main()
    {
    	long n,i,t,c;
    	double sum;
    	while(scanf("%ld",&n),n!=0)
    	{
    		for(sum=0,c=0,i=1;i<=n-1;i++,c++)
    			sum+=1.0/(n-c)*(c+1);
    		sum=sum*2+n;
    		printf("%.2lf\n",sum);
    	}
    	return 0;
    }
    

    Pascal :

    var n,i,j:longint;s:real;
    begin
      readln(n);
      while n<>0 do
        begin
           s:=1*n;
           for i:=2 to n do
              s:=s+1/i*(n+1-i)*2;
          writeln(s:0:2);
          readln(n);
        end;
    end.
    

    Java :

    import java.util.*;
    
    public class Main{
        public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        while(in.hasNextInt()){
            int N = in.nextInt();
            if(N==0) break;
            double sum = N;
            for(int up = 2*N-2, down = 2;down<=N;up-=2, down++)
                sum += up*1.0/down;
            System.out.printf("%.2f",sum);
            System.out.println("");
        }
    }
    }
    

    Python :

    while True:
        n = input()
        if n == 0:
            break
        s = n
        for i in range(2, n+1):
            s += (n-i+1)*(1.0/i)*2
        print "%.2f" % s
    
    • 1

    信息

    ID
    2071
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者