1 条题解

  • 0
    @ 2025-4-12 21:41:03

    C :

    #include <stdio.h>
    #include <math.h>
    #define e 2.718282
    
    double boSong(int i,double x);
    int jiCheng(int i);
    int main()
    {
    	int m,n,i;
    	double result,x;
    	while(scanf("%d %d",&m,&n))
    	{
    		if(m==0&&n==0)
    		break;
    		x=m*0.0001;
    	
    		for(i=0,result=1;i<n;i++)
    		  result-=boSong(i,x);
            printf("%.4lf\n",result);
            /* printf("%lf\n %d", boSong(0,x),jiCheng(0));*/
    		 
    		
    	}
    }
    double boSong(int i,double x)
    {
    	return pow(x,i)*pow(e,-x);
    }
    int jiCheng(int i)
    {
    	
    	if(i==0)
    	return 1;
    	else
    	return (i*jiCheng(i-1));
    }
    

    C++ :

    #include<stdio.h>
    #include<math.h>
    
    int main(){
    	int m, n;
    	while(scanf("%d%d", &m, &n) != EOF){
    if(m == 0 && n == 0)
      return 0;
    		double a, b;
    		a = 1 / exp(0.0001 * m);
    		b = a;
    		for(int i = 1; i < n; i++){
    			a *= (0.0001 * m) / i;
    			b += a;
    		}
    		printf("%.4lf\n", 1 - b);
    	}
    	return 0;
    } 
    

    Python :

    # coding=utf-8
    e = 2.718282
    while True:
        m, n = map(int, input().split())
        if m == 0 and n == 0:
            break
        a = 1 / e ** (0.0001 * m)
        b = a
        for i in range(1, n):
            a = a * (0.0001 * m) / i
            b += a
        print(f"{1 - b:.4f}")
    
    • 1

    信息

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