1 条题解

  • 0
    @ 2025-4-7 21:28:47

    C :

    #include<stdio.h>
    int main(){
    int n;
    int i;
    double sum=100.0,high=100.0;
    scanf("%d",&n);
    for(i=1;i<n;i++){
      high=high/2;
      sum+=high*2;
    }
    high=high/2;
    printf("%.4lf %.4lf\n",sum,high);
    return 0;
    }
    

    C++ :

    #include <stdio.h>
    int main() {
    	int i, n;
    	float h, tot;
    	h = 100;
    	tot = 0;
    	scanf("%d", &n);
    	/* 模拟前n-1次反弹的过程 */
    	for (i = 1;i < n;i++) {
    		tot += h;
    		h = h / 2;
    		tot += h;
    	}
    	/* 模拟第n次反弹的过程 */
    	tot += h;
    	h = h / 2;
    	printf("%.4f %.4f\n", tot, h);
    	return 0;
    }
    
    

    Pascal :

    
    
    var 
      i,n:longint;
      sum,s:double;
    begin
      readln(n);
      sum:=0; s:=100;
      for i:=1 to n do begin
        sum:=sum+s;
        s:=s/2;
        sum:=sum+s;
      end;
      writeln(sum-s:0:4,' ',s:0:4);
    end.
    
    
    
    

    Java :

    import java.util.*;
    public class Main {
        public static void main(String args[]) {
            Scanner cin=new Scanner(System.in);
            int n=cin.nextInt();
            double[] len=new double[100];
            len[0]=100;
            for(int i=1;i<=n;i++)
                len[i]=len[i-1]/2.0;
            double sum=100;
            for(int i=2;i<=n;i++){
                sum+=len[i-2];
            }
            System.out.printf("%.4f %.4f\n",sum,len[n]);
        }
    }
    

    Python :

    n =input()
    s = 100
    a = 0
    for i in range(1, n + 1):
        s += a
        a = 100 / 2 ** (i - 1.0)
    print "%.4f %.4f" % (s, a / 2)
    
    • 1

    信息

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