土豪 Time Limit:1000MS Memory Limit:65536K Total Submit:2032 Accepted:801 Description 小明去北京全聚德吃烤鸭,发现地上有一张土豪账单,账单信息如下: 72 只烤鸭 ¥ _679_ 表示这些烤鸭总价格的第一位和最后一位用“_”线代替了,因为这两位褪色了,难以辨认。 这两位褪色的数字是什么呢?一只烤鸭的价格是多少呢? N 只烤鸭 ¥ _XYZ_ N表示烤鸭的总数目,总价格的五位数中,第一位非0, 且每只烤鸭的价格是整数,所有的烤鸭价格是相同的。 Input 输入数据第一行是一个整数N( 1 <= N < 100 ),代表烤鸭的总数, 接下来的一行中有三个整数X、Y和Z,他们之间用一个空格隔开, 他们代表这些烤鸭的原始价格¥ _XYZ_。 Output 测试数据可能不止一种价格方案,也可能没有一种价格方案。 对于后一种情况输出0;如果不止一种价格方案, 输出对应单只烤鸭最贵的褪色数字和单只烤鸭的价格,以空格作为间隔符。 Sample Input 72 6 7 9 Sample Output 3 2 511 #includeint main() { int i,n = 0; scanf("%d", &n);//输入烤鸭总数 int arr[4] = { 0 }; for (i = 1; i <= 3; i++) { scanf("%d", &arr[i]); } int price = 1000 * arr[1] + 100 * arr[2] + 10 * arr[3];//循环生成中间三个数 6790 int M, m; int J = 0, j = 0; int Price = 0; for (M = 1; M <= 9; M++)//用循环历遍价格的所以的情况 { for (m = 0; m <= 9; m++) { Price = M * 10000 + m + price; if (0 == Price % n)//如果有价格满足,将价格的值重新赋给J,j,达到输出最大值的效果 { J = M; j = m; } } } Price = 10000 * J + j + price; //由于现在的Price在经过循环后是以9开头以9结尾的 //将Price重置成满足题目条件的价格,这样确保最后打印的最贵单价是正确的 if (0 == J && 0 == j) { printf("%d", 0); } else { printf("%d %d %d", J, j, Price / n); } return 0;



