编写程序求S=1!+2!+3!+...+N! (其中N为从键盘输入的任意自然数)。

编写程序求S=1!+2!+3!+...+N! (其中N为从键盘输入的任意自然数)。,第1张

#include <stdio.h>

void main()

{

int i,j,n,num,sum=0

printf("输入求阶乘的数:\n")

scanf("%d",&n)

for(i=1i<=ni++)

{ int num=1

for (j=1j<=ij++)

num=num*j

sum+=num

}

printf("%d",sum)

}

#include <iostream>

using namespace std

int fun1(int a)

{

int b

if(a==1)

{

b=1

}

else

{

b=a+fun1(a-1)

}

return b

}

int fun2(int a)

{

int b=0

for(int i=1i<=ai++)

{

b=b+i

}

return b

}

int main()

{

int a

cin>>a

cout<<fun1(a)<<endl

cout<<fun2(a)<<endl

return 0

}

程序1:

#include<stdio.h>

int main() 

{int s=0,i,n,t=1

 scanf("%d",&n) 

 for(i=1i<=ni++)     //效率较高,时间复杂度为O(n)

 {t*=i

  s+=t

 }

 printf("%d\n",s) 

程序2:

#include<stdio.h>    //调用函数完成,效率较低,且时间复杂度为O(n^2)(累加O(n),计算阶乘O(n),且为嵌套完成)

int fact(int n)

{int y=1

 while(n)y*=n--

 return y

}

int main() 

{int s=0,i,n

 scanf("%d",&n) 

 for(i=1i<=ni++) 

   s+=fact(i)

 printf("%d\n",s) 

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8025350.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存