1976: 2018蓝桥杯培训-枚举专题-day2 枚举作业题2
描述
题目描述:
输入正整数n,,其中a~j恰好为0~9的一个排列,2<=n<=79.
输入:
输入正整数n
输出:
按从小到大的顺序输出所有形如abcde / fghij = n的表达式,注意开头是0也要输出
样例输入
62
样例输出
79546/01283=62 94736/01528=62
#include<iostream>
#include<cstdio>
using namespace std;//代码仅供参考,没有经过oj验证
int judge(int x,int y){
int a[10]={0};
do{
if(a[x%10]) return 0;
a[x%10]=1;
}while(x/=10);
do{
if(a[y%10]) return 0;
a[y%10]=1;
}while(y/=10);
return 1;
}
int main(){
int n;
while(cin>>n){
for(int i=1234;i*n<=98765;i++){
if(i*n>=12345&&i<=9876&&judge(i*10,i*n)){
printf("%d/0%d=%d\n",i*n,i,n);
}
if(i*n>=12345&&i>=10234&&judge(i,i*n)){
printf("%d/%d=%d\n",i*n,i,n);
}
}
}
return 0;
}