输入正整数n,按从小到大的顺序输出所有形如abcde/fghij = n的表达式,其中a~j恰好
为数字
为数字0~9的一个排列(可以有前导0),2≤n≤79。
样例输入:
样例输入:
62
样例输出:
79546 / 01283 = 62
94736 / 01528 = 62
#include<iostream>
#include<stdio.h>
#include <string.h>
using namespace std;
int main(){
int start=1234;
int end=98766;
int n=0;//商
int data[10];
while(scanf("%d",&n)!=EOF){
for(int i=start;i<end;i++){
for(int i=0;i<10;i++) data[i]=0;///标记为空
int fir=i*n; //除数
if(i<10000) data[0]=data[0]+1;
int place_i =i;
int place_fir=fir;
while(place_i!=0){
int moda=place_i%10;
place_i=place_i/10;
data[moda]=data[moda]+1;
if(data[moda]!=1) break; ///不止一个该数时跳出
}
while(place_fir!=0){
int moda=place_fir%10;
place_fir=place_fir/10;
data[moda]=data[moda]+1;
if(data[moda]!=1) break; ///不止一个该数时跳出
}
for(int i3=0;data[i3]==1&&i3<10;i3++){
if(i3==9)
printf("%05d/%05d=%d\n",fir,i,n);
}
}
}
}