题解 | 百鸡问题

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
using namespace std;
int main() {
	int n, x, y, z;
	while (scanf("%d", &n) != EOF) {
		for (x = 0; x <=100; x++) {
			for (y = 0; y <= (100-x); y++) {
				z = 100 - x - y;
				/*if ((5 * x + 3 * y + z / 3) <= n) {//这样处理会导致z/3省略了小数,实际上加起来的和比n要大
					printf("x=%dy=%dz=%d\n", x, y, z);
				}*/
				if (15 * x + 9 * y + z <= 3*n) {//方程两边同时乘上3,避免了小数的情况
					printf("x=%d,y=%d,z=%d\n", x, y, z);
				}
			}
		}
	}
	return 0;
}

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务