Number of Apartments
题目链接:luogu CF1430A
题目大意
给你一个数 n,求 3x+5y+7z=n 的一个非负整数解。
思路
一开始看半天没看出来要怎么搞。
结果一看范围。。。
我是 SB。
直接枚举两个的取值,然后如果剩下的数能被另一个整除,就找到了一个解。
代码
#include<cstdio>
using namespace std;
int T, n;
bool yes;
int main() {
scanf("%d", &T);
for (int times = 1; times <= T; times++) {
scanf("%d", &n);
yes = 0;
for (int i = 0; i * 7 <= n; i++) {
for (int j = 0; i * 7 + j * 5 <= n; j++) {
if ((n - (i * 7 + j * 5)) % 3 == 0) {
printf("%d %d %d\n", (n - (i * 7 + j * 5)) / 3, j, i);
yes = 1;
break;
}
}
if (yes) break;
}
if (!yes) printf("-1\n");
}
return 0;
}