1 条题解

  • 0
    @ 2025-4-14 18:41:37

    C :

    #include <stdio.h>
    #include <math.h>
    #include <string.h>
    
    double fact(int m)
    {
    	int j;
    	double s=1;
    	for (j=1;j<=m;j++)
    		s*=j;
    	return s;
    }
    
    int main()
    {
    	int i,n;
    	double s,sum=0;
    	scanf ("%d",&n);
    	for (i=1;i<=n;i++)
    	{
    		s=1.0/fact(i);
    		sum+=s;
    	}
    	printf ("sum=%.5lf\n",sum);
    	return 0;
    }
    
    

    C++ :

    #include<iostream>
     
    using namespace std;
     
    double fact(int k);
    int main() {
        int n;
        double sum = 0;
        cin >> n;
         
        for (int i = 1; i <= n; i++) {
            if (fact(i) < 10000000)
                sum = sum + 1 / fact(i);
            else
                break;
        }
        cout.precision(6);
        cout.setf(ios_base::showpoint);
        cout << "sum=" << sum;
     
        return 0;
    }
    double fact(int k) {
        int sum = 1;
        for (int i = 1; i<= k; i++)
            sum = sum * i;
        return sum;
    }
    
    
    • 1

    2006年春浙江省计算机等级考试二级C 编程题(2)

    信息

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