输入整数n,从大到小输出形如abcde/fghij=n的表达式,其中a~j恰好为0~9的一个排列
#include "stdafx.h"
#include<iostream>
#include<stdlib.h>
using namespace std;
bool jude(int n, int fgh)
{
int abc = fgh*n;
int a[10] = { 0 };
int i;
if (fgh < 10000) i = 1;
else i = 0;
while(fgh!=0)
{
a[i++] = fgh % 10;
fgh /= 10;
}
for (int j = i; j <= 9;j++)
{
a[j] = abc % 10;
abc /= 10;
}
for (int b = 0; b < 9; b++)
for (int f = b + 1; f < 10; f++)
if (a[b] == a[f]) return false;
return true;
}
int _tmain(int argc, _TCHAR* argv[])
{
int n = 0;
cin >> n;
for (int i = 1234;n*i<98765; i++)
{
if (jude(n,i))
{
if (i < 10000)
cout << n*i << "/0" << i << "=" << n << endl;
else
cout << n*i << "/" << i << "=" << n << endl;
}
}
system("pause");
return 0;
}