玩命加载中 . . .

Old Bill


描述

在祖父的文件中发现了一张账单。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;
}

文章作者: Jack Tim
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Jack Tim !
评论
  目录