1.输入n,求n的阶乘n!。
2.输入n,求n的阶乘和。
3.输入m,n,求m和n之间的阶乘和。
(1)
#include <stdio.h>
int main () {
int n, i;
int count = 1;
scanf("%d", &n);
for (i = 1; i <= n; i++) {
count *= i;
}
printf("n的阶乘是%d。\n", count);
return 0;
}
(2)
#include <stdio.h>
int main () {
int n, i;
int count = 1;
int sum = 0;
scanf("%d", &n);
for (i = 1; i <= n; i++) {
count *= i;
sum += count;
}
printf("n的阶乘和是%d。\n", sum);
return 0;
}
(3)
该题需要用到两层循环,内层循环求n-m的每个数的阶乘,外层需要用于阶乘求和。
#include <stdio.h>
int main () {
int m, n, i, j;
int count = 1;
int sum = 0;
scanf("%d %d", &m, &n);
for (i = m; m <= n; m++) {
for (j = 1; j <= m; j++) {
count *= j;
}
sum += count;
count = 1;//使执行内层阶乘循环时,保证从1开始进行阶乘。
}
printf("m到n的阶乘和是%d", sum);
return 0;
}