程式基本演算法習題解析 百錢買百雞問題
阿新 • • 發佈:2018-12-18
題目:
百錢買百雞問題:公雞每隻5元,母雞每隻3元,小雞3只一元。現有100元錢要求買100只雞,問小雞、公雞、母雞各多少隻?
附上程式碼:
// Chapter5_5.cpp : Defines the entry point for the application. // 百錢買百雞問題 // 公雞每隻5元,母雞每隻3元,小雞3只一元。 // 現有100元錢要求買100只雞,問小雞、公雞、母雞各多少隻 #include "stdafx.h" #include<iostream> #include<math.h> using namespace std; int main() { int x,y,z,sum=100,count=100; for(x=0;x<=100;x++) for(y=0;y<=100;y++) for(z=0;z<=100;z++) { //特別注意z%3 == 0這個條件 if(z%3 == 0 && x+y+z == 100 && 5*x+3*y+z/3 == 100) { cout << "公雞買 " << x << "只" << ' '; cout << "母雞買 " << y << "只" << ' '; cout << "小雞買 " << z << "只" << endl; } } system("pause"); return 0; }
需要注意的是z%3 == 0這個條件,因為x,y,z是int型別的,不管z是不是3的倍數,z/3都會是整數,但實際上,z肯定應該是3的整數,因此加了一個z%3 == 0條件。當然,如果不加這個條件,將x,y,z的型別改為float型別,也是可以的。
執行結果如下: