用c++语言求n的阶乘

用c++语言求n的阶乘,第1张

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;

}

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

原文地址: http://outofmemory.cn/langs/12170865.html

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

发表评论

登录后才能评论

评论列表(0条)

保存