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)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)