简单枚举

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_39427510/article/details/84900844

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;
}

猜你喜欢

转载自blog.csdn.net/qq_39427510/article/details/84900844