求N!的两简单C++程序

来源:百度知道 编辑:UC知道 时间:2024/09/23 23:50:41
要求用迭代(递推)算法和递归算法写出N!的程序,但这两种算法是什么意思?我是初学者,请详细。
最重要的是什么叫递推与递归算法,有什么区别?

假设N已知

迭代(递推)算法:
void main() {
int S=1,i,N;
for(i=1;i<=N;i++)
S=S*i;
printf("%d",S);
}

递归算法:
int f(int t){
if(t==1) return 1;
else return t*f(t-1);
}

void main(){
int N;
printf("%d",f(N));
}

迭代#include<iostream.h> void main{int a,i,j;cin>>a;for(i=1;i<=a;i++)j=j*i;cout<<"阶乘为"<<j;}递归书上有,就是调用自己,要有子函数