描述
在祖父的文件中发现了一张账单。72只火鸡$_679_这个数字的第一位和最后一位数字显然代表了这些火鸡的总价,这里用空格(表示_)代替,因为它们已经褪色,难以辨认。那两个褪色的数字是什么一只火鸡的价格是多少?我们想要编写一个程序来解决上述问题的一般版本。N只火鸡的价格为$_XYZ_,火鸡的总数N在1到99之间,包括两者。总价原本是5位数,但我们只能看到中间的3位数。我们假设第一位数字非零,一只火鸡的价格是整数美元,所有火鸡的价格相同。给定N、X、Y和Z,编写一个程序来猜测这两个褪色的数字和原始价格。如果原来的价格有一个以上的候选价格,那么产量应该是最贵的那个。也就是说,该程序将报告两个褪色的数字和每只火鸡的最高价格。http://t.cn/E9jqijR
输入描述:
输入文件的第一行包含一个整数N (0<N<100),它表示火鸡的数量。在下一行中,有原始价格$_XYZ_的三位十进制数字X、Y和Z,以空格分隔。
输出描述:
对于每一种情况,输出两个褪色的数字和每只火鸡的最高价格。
示例1
输入:
72
6 7 9
5
2 3 7
78
0 0 5
输出:
3 2 511
9 5 18475
0
#define _CRT_SECURE_NO_WARNINGS 1
#include <bits/stdc++.h>
using namespace std;
bool Function(int n, int x, int y, int z) {
for (int i = 9; i >= 1; --i) {
for (int j = 9; j >= 0; --j) {
int price = i * 1e4 + x * 1e3 + y * 1e2 + z * 1e1 + j;
if (price % n == 0) {
printf("%d %d %d\n", i, j, price / n);
return true;
}
}
}
return false;
}
int main() {
int n;
while (cin >> n)
{
int x, y, z;
cin >> x >> y >> z;
if (!Function(n, x, y, x))
printf("0\n");
}
return 0;
}