小白编程题:输出排列

输出排列

非递归算法

#include
int main(){
    int x,y;
    scanf("%d %d",&x,&y);
    int sum=1;
    for(;y>0;y--,x--){
        sum*=x;
    }
    printf("%d",sum);
    return 0;
}

递归算法

//输出排列数
#include
int pailie(int x,int y){
    if(x==1||y==1) return x;
    return x*pailie(x-1,y-1);
}
int main(){
    int x,y;
    scanf("%d %d",&x,&y);
    printf("%d",pailie(x,y));
    return 0;
}

下期预告:输出全排列(思想: D F S DFS DFS)

你可能感兴趣的:(OJ,c++,c语言,青少年编程)