//1、先確定變量關系,將問題分為3個維,用for語句嵌套搭建循環框架 //2、內層用判斷語句確定滿足題目的條件 //注意,設置一個變量用於計數 #include<iostream> using namespace std; int main() { int m=0; for(int i=1;i<=100;i++) { for(int j=1;j<=100;j++) { for(int k=1;k<=100;k++) { if((((i+j+k)==100))&&((3*i+2*j+0.5*k)==100)) { cout<<"大馬:"<<i<<" 中馬:"<<j<<" 小馬:"<<k; m++; cout<<endl; } } } } cout<<"共有"<<m<<"組解"<<endl; return 0; }
引申類似問題:換零錢.把一元錢全兌換成硬幣(1分2分5分),有多少種兌換方法
#include<iostream> using namespace std; int main() { int Y=100; int m=0; for(int i=1;i<=Y;i++) { for(int j=1;j<=Y;j++) { for(int k=1;k<=Y;k++) { if(i+2*j+5*k==Y) { cout<<"一分錢: "<<i<<" 兩分錢: "<<j<<" 五分錢: "<<k; m++; cout<<endl; } } } } cout<<"一共有"<<m<<"種兌換方式"<<endl; return 0; }
