算法上机课,要我们用枚举法求解。
1. 由0到4五个数字,组成5位数,每个数字用一次,但十位和百位不能为3(当然万位不能为0),输出所有可能的五位数。
我用的是C语言,visualC++编写的
#include<stdio.h>
int main()
{
int i,j,k,m,n;
int count=0;
for(i=1;i<=4;i++){
for(j=0;j<=4;j++){
if(j==i)
continue;
for(k=0;k<=4;k++){
if(k==3||k==i||k==j)
continue;
for(m=0;m<=4;m++){
if(m==3||m==i||m==j||m==k)
continue;
for(n=0;n<=4;n++){
if(n==i||n==j||n==k||n==m)
continue;
printf("%d\n",i*10000+j*1000+k*100+m)
}
}
}
}
}
return 0;
}
原文:http://13271983.blog.51cto.com/13261983/1983202