前言
正在学习如何记录生活与学习啦!以下是c语言关于阶乘的学习笔记。
一、阶乘是什么?
阶乘指从1乘以2乘以3乘以4一直乘到所要求的数。例如所要求的数是4,则阶乘式是1×2×3×4,得到的积是24,24就是4的阶乘。任何大于1的自然数n阶乘表示方法: n!=1×2×3×……×n
二、计算n的阶乘
n!=1×2×3×4…×n
在vs2019中,使用scanf()函数必须使用:
#define _CRT_SECURE_NO_WARNINGS,不然会报错。
#include<stdio.h>
int main()
{
int a = 1;
int n = 0;
int sum = 1;
scanf("%d",&n);
for (a = 1; a <= n; a++)
{
sum = sum * a;
}
printf("%d",sum);
return 0;
}
例如:5的阶乘
5!=1×2×3×4×5
二、计算1!+2!+3!(方法一,利用2个for循环)
1!=1
2!=1×2
3!=1×2×3
最后把他们在加起来
#include<stdio.h>
int main()
{
int i = 1;
int n = 0;
int s = 1;
int sum = 0;
for (n = 1; n <= 3; n++)
{
s = 1;//注意位置
for(i=1;i<=n;i++)
{
s = s * i;
}
sum = sum + s;
}
printf("%d",sum);
return 0;
}
易错点。
看看下面的程序运行出来结果是多少。你能读懂吗?
#include<stdio.h>
int main()
{
int i = 1;
int n = 0;
int s = 1;
int sum = 0;
for (n = 1; n <= 3; n++)
{
for(i=1;i<=n;i++)
{
s = 1;//注意位置
s = s * i;
}
sum = sum + s;
}
printf("%d",sum);
return 0;
}
注意:s=1;放在了第二个for循环里面
#include<stdio.h>
int main()
{
int i = 1;
int n = 0;
int s = 1;
int sum = 0;
for (n = 1; n <= 3; n++)
{
for(i=1;i<=n;i++)
{
s = s * i;
}
sum = sum + s;
}
printf("%d",sum);
return 0;
}
注意:s=1;未初始化,则s就会累加上一次的结果
三、计算1!+2!+3!(方法二)
#include <stdio.h>
int main()
{
int i = 1;
int s = 1;
int sum = 0;
for (i = 1; i <= 3; i++)
{
s = s * i;
sum = sum + s;
}
printf("%d",sum);
return 0;
}
计算n阶乘之和,建议使用第二种方法哦,这种更简单。
总结
学习过程中要注重思考,学习编写代码的逻辑!