題目描述
輸入正整數n,遇到文件末尾結束。按從小到大順序輸出所有形如abcde/fghij=n的表達式,其中a到j恰好爲數字0到9的一個排列(可以有前導0),無解輸出“no answer”,n在2到79之間。
輸入
一行輸入一個整數n。
輸出
形如abcde/fghij=n的表達式。
樣例輸入
62
樣例輸出
79546 / 01283 = 62
94736 / 01528 = 62
#include <stdio.h>
int main()
{
int n,x,y,temp;//a[10]={0};
int i,j,flag;
scanf("%d",&n);
for(x=12345;x<=98765;x++)
{
int a[10]={0};
flag = 1;
temp = x;
// if(x%n != 0) //不用這句數組a要重新全部初始化!
// continue;
if(x%n== 0) //記錄y的各個位
{
y = x/n;
for(i=4;i>=0;i--)
{
a[i] = y%10;
y = y/10;
}
}
for(i=9;i>=5;i--) //記錄x的各個位
{
a[i] = temp%10;
temp = temp/10;
}
for(i=0;i<9;i++) //判斷有沒有重複的
{
for(j=i+1;j<=9;j++)
{
if(a[i] == a[j])
{
flag = 0;
break;
}
}
if(flag ==0)
break;
}
if(flag==1) //打印
{
for(i=5;i<=9;i++)
printf("%d",a[i]);
printf(" / ");
for(i=0;i<5;i++)
printf("%d",a[i]);
printf(" = %d\n",n);
}
}
return 0;
}