运行结果错误,电脑没有报错,有谁可以帮忙写一个程序,指点指点我。
你的一个阶层运算完,没有重置,后面sum=8的阶层继续乘,所以有点问题,我改了一下,希望可以帮到你
#include<stdio.h>
#include<stdlib.h>
void main() {
int sum = 1;
int i,j,n = 1,m = 1;
for (i = 8; i <= 10; i++) { // 遍历 8 9 10
for (j = i; j > 0; j--) { // 分别计算阶乘
n = m * j ;//
m = n;
}
sum += n;
n=1; m=1;//一个阶层运算完,重置 m 和 n 的值
}
sum = sum-n;//多加了一个 n,也就是多加了一个1
printf("8!+9!+10!= %d \n", sum);
}
#include<stdio.h>
#include<stdlib.h>
void main() {
long sum = 1;
for (int i = 8; i <= 10; i++) { // 遍历 8 9 10
for (int j = i; j > 0; j--) { // 分别计算阶乘
sum = sum * j ;
}
}
printf("8!+9!+10!= %d \n", sum); // 53094139822080000
}
public static void main(String[] args) {
long sum = 1;
for (int i = 8; i <= 10; i++) { // 遍历 8 9 10
for (int j = i; j > 0; j--) { // 分别计算阶乘
sum = sum * j ;
}
}
System.out.println(sum);
}