提交记录 #232
提交时间:2024-11-16 15:33:03
语言:c
状态:Unaccepted
编译情况:编译成功
固定测试点#1:
额外测试点#9:
M32【期中测验3】商场抽奖
#include <stdio.h>
int main(void) {
int a, b, c, d, e;
scanf("%d", &a);
scanf("%d", &b);
scanf("%d", &c);
scanf("%d", &d);
scanf("%d", &e);
int money, num;
scanf("%d", &money);
scanf("%d", &num);
int found = 0; // 添加一个标志来跟踪是否找到第一个有效组合
for (int A = 1; A <= num && !found; A++) { // A 不能为 0,所以从 1 开始
for (int B = 1; B <= num; B++) {
for (int C = 1; C <= num; C++) {
for (int D = 1; D <= num; D++) {
for (int E = 1; E <= num; E++) {
if (a * A + b * B + c * C + d * D + e * E == money &&
A + B + C + D + E == num) {
printf("%d,%d,%d,%d,%d\n", A, B, C, D, E);
found = 1; // 找到第一个有效组合,设置标志为 true
break; // 退出最内层循环
}
}
if (found) break; // 如果找到有效组合,退出第四层循环
}
if (found) break; // 如果找到有效组合,退出第三层循环
}
if (found) break; // 如果找到有效组合,退出第二层循环
}
if (found) break; // 如果找到有效组合,退出最外层循环
}
return 0;
}