1 条题解
-
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; }
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
- 1074
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者