递推算法

由0到4五个数字,组成5位数,每个数字用一次,但十位和百位不能为3(当然万位不能为0),输出所有可能的五位数。

代码如下:

#include "stdio.h"
int main(){
int sum=0; int count=0;
for(int i=1;i<5;i++)
{//万位
for(int j=0;j<5;j++)//千位
if(j!=i)
{
for(int k=0;k<5;k++)//百位
if(k!=j&&k!=i&&k!=3)
{
for(int l=0;l<5;l++)//十位
if(l!=i&&l!=j&&l!=k&&l!=3)
{
for(int m=0;m<5;m++)//个位
if(m!=i&&m!=j&&m!=k&&m!=l)
{
sum=i*10000+j*1000+k*100+l*10+m;
printf("%d ",sum);
sum=0;
count++;
if(count==5)
{
printf(" ");
count=0;
}
}
}
}
}

}
return 0;
}

运行结果

原文地址:https://www.cnblogs.com/liuliuyiming/p/7850824.html