アルゴリズムのノートは5.1簡単な数学の問題Cを練習します:百鶏の問題


アルゴリズムノート練習問題解合集
タイトルリンク
タイトル
テーマの説明はn元以下で100羽の鶏を買って、大きい鶏は5元/匹、ニワトリは3元/匹で、1/3元のニワトリがあって、それぞれx匹、y匹、z匹と書きます.プログラミングはx,y,zのすべての可能な解を解く.
入力テストデータは複数組あり、nを入力します.
出力は各グループの入力に対して、x,y,zのすべての実行可能な解を出力し、x,y,zの順に大きくなる順に出力してください.
サンプル入力
45

サンプル出力
x=0,y=0,z=100
x=0,y=1,z=99
x=0,y=2,z=98
x=0,y=3,z=97
x=0,y=4,z=96
x=1,y=0,z=99
x=1,y=1,z=98
x=1,y=2,z=97
x=2,y=0,z=98

構想
n n n nにかかわらず、書き込み2層サイクル枚は、x+y+z=100 x+y+z=100 x+y+z=100 x+y+z=100を満たすx x、y y、z z zをすべて挙げ、その後、内層サイクルでn n n n n未満の全価格の組合せを出力する.
コード#コード#
#include 
int main() {
	int n, x, y, z;
	while (scanf("%d", &n) != EOF) {
		//         3  ,    
		n *= 3;
		for (x = 0; x <= 100; ++x) {
			for (y = 0; y <= 100-x; ++y) {
				z = 100 - x - y;
				if (15*x + 9*y + z <= n)
					printf("x=%d,y=%d,z=%d
"
, x, y, z); } } } }