abcde全排序java,求出abcde/fghij=n的所有情况,其中,a~j为0~9的一个排列

//输入一个2<=n<=79的数,按从小到大求出abcde/fghij=n的所有情况,其中,a~j为0~9的一个排列

//下面的一些没用使用的代码可以看做是我思考时候的一些思路

#include"stdio.h"

#include"stdlib.h"

void main()

{int notaaa(int a[],int t,int y);

int a[10],k,n=0,c[150][10],cur1=-1,cur2;//c数组用来保存每一次的结果然后排序输出,cur用来排序循环用

long int w,m=0;

//scanf("%d",&k);

for(int k=2;k<79;k++)//这里采取全部选取的方法,省略输入过程

{if(n){ printf("\n"); n=0;}//n用来控制输出的空行

cur1=0;

{ for(a[0]=0;a[0]<=9;a[0]++)

for(a[1]=0;a[1]<=9;a[1]++)

{if(notaaa(a,0,1))

continue;

for(a[2]=0;a[2]<=9;a[2]++)

{ if(notaaa(a,0,2))

continue;

for(a[3]=0;a[3]<=9;a[3]++)

for(a[4]=0;a[4]<=4;a[4]++)

{

w=(a[0]+a[1]*10+a[2]*100+a[3]*1000+a[4]*10000)*k;

if(w>=99000)

continue;

a[5]=w%10;

a[6]=w%100/10;

if(notaaa(a,0,6))

continue;

a[7]=w%1000/100;

a[8]=w%10000/1000;

a[9]=w/10000;

if(notaaa(a,5,9))

continue;

if(!notaaa(a,0,9))

{n=1;

for(cur2=0;cur2<10;cur2++)

c[cur1][cur2]=a[cur2];

//printf("\n %d:",k);

//printf("%d%d%d%d%d/%d%d%d%d%d=%d",a[9],a[8],a[7],a[6],a[5],a[4],a[3],a[2],a[1],a[0],k);

cur1++;

}

}}}}//这几重括号基本是对循环的一点点优化

for(int i=0;i

for(int j=i;j

//严格进行abcde几位数字的排序

if((c[i][9]*10000+c[i][8]*1000+c[i][7]*100+c[i][6]*10+c[i][5])>(c[j][9]*10000+c[j][8]*1000+c[j][7]*100+c[j][6]*10+c[j][5]))

for(int cur3=0;cur3<10;cur3++)

{long int p;

p=c[i][cur3];

c[i][cur3]=c[j][cur3];

c[j][cur3]=p;}

for(int i=0;i

{printf("\n %d:",k);

printf("%d%d%d%d%d/%d%d%d%d%d=%d",c[i][9],c[i][8],c[i][7],c[i][6],c[i][5],c[i][4],c[i][3],c[i][2],c[i][1],c[i][0],k);

}

}

printf("\n");

system("pause");

}

//子函数完全没有问题

int notaaa(int a[],int t,int y)

{int i,j;

for(i=t;i<=y;i++)

for(j=t;j<=y;j++)

{ if(i!=j)

if((a[i]==a[j]))

return 1;

}

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值