题目描述:输入一个正整数n,按从小到大的顺序输出abcde/fghij=n的表达式,其中a~j恰好为数字0~9的一个排列,2<=n<=79
例样输入:
62
例样输出
79546/01283=62
94736/01528=62
#include <iostream>
#include<algorithm>
#include<iomanip>
int n;
int a[10];
int main()
{
for (int i = 0; i < 10; i++)a[i] = i;
cin >> n;
do
{
double temp = a[0] * 10000 + a[1] * 1000 + a[2] * 100 + a[3] * 10 + a[4];
// 两个数中必须有一个double类型的数防止都是int类型的数向下取整
double temp2 = a[5] * 10000 + a[6] * 1000 + a[7] * 100 + a[8] * 10 + a[9];
if (temp / temp2 == n)
{
if (temp2 < 10000)
cout << temp << "/" << 0 << temp2 << "=" << n << endl;
else
cout << temp << "/" << temp2 << "=" << n << endl;
}
} while (next_permutation(a, a + 10));
return 0;
}