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