几种求解 1!+2!+3!+....+10! 的程序

来源:互联网 发布:透明桌面倒计时软件 编辑:程序博客网 时间:2024/06/08 06:13

//1.通过函数调用求解;

#include <stdio.h>int fun (int n){    int a,b=1;    for(a=1 ; a<=n ; a++)        b=a * b;    return b;}int main (){    int x,y=0;    for(x=1 ; x<=10 ; x++)    {        y=y+fun(x);    }     printf("求解结果为: %d",y);     return 0;}
//2.通过循环嵌套求解

#include <stdio.h>int main(){    int a,b;    int sum = 0;    for (a=1 ; a<=10 ; a++)    {        int c=1;        for (b=1 ; b<=a ; b++)        {            c=c * b;        }        sum = sum + c;    }    printf("求解结果为:%d",sum);    return 0;}
/*3.以上两种求解方式时间复杂度较高,以下是对程序的优化

利用n!=(n-1)!*n,此方法可以极大的优化,提升效率。*/


#include<stdio.h>int main(){    int a,b=1,c=1;    for (a=2 ; a<=10 ; a++)    {        b = b * a;        c = c + b;    }    printf("求解结果为:%d",c);    return 0;}



0 0
原创粉丝点击