94736/01528=62
#include<iostream>#include<string.h>using
namespace
std;int
de(int
m,int
n){ int
x[10]; memset(x,0,sizeof(x)); int
k=0; while(m!=0) { x[k++]=m%10; m=m/10; } while(n!=0) { x[k++]=n%10; n=n/10; } for(int
i=0;i<10;i++) { for(int
j=i+1;j<10;j++) { if(x[i]==x[j]) return
0; } } return
1;}int
main(){ int
n; while(cin>>n) { for(int
i=01234;i<=98765;i++) { int
j=i*n; if(j>1000&&j<100000) { if(de(i,j)==1)//不重复 { if(i<10000) cout<<j<<‘/‘<<0<<i<<‘=‘<<n<<endl; else
cout<<j<<‘/‘<<i<<‘=‘<<n<<endl; } } } } return
0;}直接找到满足乘积关系的值可以大大缩小运算量,同时需要一个函数来判断是否有重复元素
原文地址:http://blog.csdn.net/u013240812/article/details/25409465