所谓n的阶乘就是从1到n的累积,所以可以通过一个for循环,从1到n依次求积即可。
参考代码:
#include "stdio.h"
int main() {
int n,i,s=1。
scanf("%d",&n)。
for(i=1i<=ni++)//for循环求累积。
s=s*i。
printf("%d\n",s)。
return 0。
注意事项:
1、任何大于1的自然数n阶乘表示方法:n!=1×2×3×……×n 或 n!=n×(n-1)。
2、n的双阶乘:当n为奇数时表示不大于n的所有奇数的乘积。
如:7!=1×3×5×7。
3、当n为偶数时表示不大于n的所有偶数的乘积。
如:8!=2×4×6×8。
4、小于0的整数-n 的阶乘表示:
(-n)!= 1 / (n+1)。
5、0的阶乘:0!=0。
6、组合数公式。
1、首先打开CodeBlocks编辑器,新建一个空白页面,写入头文件和主函数:
2、然后定义需要的变量,编写一个输入函数接受用户输入的数值,使用for循环实现阶乘计算,每次循环都用sum变量乘以循环的下标即可实现阶乘,最后需要编写输出函数,输出结果:
3、最后编译程序,输入一个数字,即可看到计算出正确的结果:
C++求n的阶乘代码如下:
#include<iostream>
using namespace std
int fac(int)
int main()
{
int n
while(cin>>n)
{
cout<<n<<"!= "<<fac(n)<<endl
}
return 0
}
int fac(int x)
{
register int i,f=1 //定义寄存器变量
for(i=1i<=xi++)
f*=i
return f
}
扩展资料:
C++求n的阶乘的其他方法:
#include<iostream>
using namespace std
int fac(int)
int main()
{
int i
for(i=1i<=10i++)
{
cout<<i<<"!= "<<fac(i)<<endl
}
return 0
}
int fac(int x)
{
static int f=1 //静态局部变量
f*=x
return f
}
参考资料:
百度百科-C++
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)