迭代算法:使用变量的旧值递推新值。
#include <stdio.h>
int main() {
int n, i, s;
scanf("%d", &n);
i = n;
s = 1;
while(i > 1) {
s *= i;
i--;
}
printf("%d! = %d\n", n, s);
return 0;
}
递归算法:将问题分解为规模缩小的同类问题,递归调用求得原问题的解。
#include <stdio.h>
int fact(int n) {
if(n == 1) {
return 1;
}
return n * fact(n - 1);
}
int main() {
int n, s;
scanf("%d", &n);
s = fact(n);
printf("%d! = %d", n, s);
return 0;
}
codingground使用指南
1、单击【STDIN】输入程序运行需要的值
2、单击【Execute】执行程序
3、在右侧【Result】查看执行结果