1、打开vs60软件,准备一个后缀为cpp的文件,在c++文件中首先写入头文件,定义一个处理阶乘的函数,接着写一个空的main函数:
2、接着是阶乘recv函数逻辑,该函数有一个形参n用来接收输入的数。n的阶乘是所有正整数的乘积,这里的处理是sum不断的用递归的方法乘以recv函数的输入数,每次相乘n的值都减1;主函数中用一个cin函数接受用户输入的数,之后调用recv处理阶乘,最后则是输出结果:
3、程序编写完成,最后编译运行,输入任意一个数,最终会打印出计算的结果。以上就是用C++求阶乘的方法:
def jiecheng(n):
result = 1
for i in range(1,n+1):
result = resulti
return result
一个整数的阶乘就是所有小于等于该数字的正整数的积。举例说明3的阶乘就是321。
电脑:WIN10
软件:ISO
软件:python
1、用def代码创建一个函数,名称为func,参数为n
def func(n):
2、创建一个变量res,赋值为函数的参数n,代码如下:
res = n。
3、然后写入for range循环,具体代码如下:
for i in range(1,n):
4、接下来在for循环当中进行计算并且返回res,具体代码如下:
res = i
return res。
5、用print代码打印输出3的阶乘,代码如下:
print(func(3))。
6、以上代码实现了阶乘的运算,另外我们还可以用递归的方式进行。代码如下:
def func1(n):
if n==1:
return 1
else:
return n func1(n-1)
print(func1(3))
递归方式是函数自己调用自己。
#include<stdioh>
void p(int x[],int n);
void main()
{ int i,j,x[200];
for(j=30;j<50;j+=10)
{ p(x,j);
printf("%d!=",j);
for(i=0;x[i]>=0;i++)
printf("%d",x[i]);
printf("\n");
}
}
void p(int x[],int n)
{ int i,j,k;
int t[200];
x[0]=1;
if(n==1) { x[1]=-1;return; }
for(i=1;i<100;i++) { x[i]=-1;t[i]=0; }
for(i=2,k=0;i<=n;i++)
{ for(j=0;j<=k;j++)
t[j]=x[j]i;
for(j=0;j<=k;j++)
{ x[j]=t[j]%10;
t[j+1]+=t[j]/10;
}
while(t[j])
{ x[j]=t[j]%10;
t[j+1]+=t[j]/10;
j++;
}
k=j-1;
}
for(i=0;i<=k;i++)
t[i]=x[k-i];
for(i=0;i<=k;i++)
x[i]=t[i];
x[i]=-1;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)