【问题描述】
“多脚怪”是种有一个头多只脚的怪物。现有两种“多脚怪”,其中一种有7只脚,另外一种有3只脚。
现在把“7脚怪”、“3脚怪”关在同一个笼子里,假设有23个头,113只脚,请问共有多少只“7脚怪”?多少只“3脚怪”?
【解题思路】
类比于鸡兔同笼问题的解法。
假设都是“7脚怪”,则共有23*7=161只脚,多算了161-113=48只脚。显然,多算的脚是把“3脚怪”当成“7脚怪”多算的脚。
由于把一只“3脚怪”当成“7脚怪”会多算7-3=4只脚,则多算的48只脚对应于48/4=12只“3脚怪”。那么,有23-12=11只“7脚怪”。
【C代码实现】
#include<stdio.h>
int main() {
int head=23,foot=110;
int three,seven;
three=(head*7-foot)/(7-3);
seven=head-(head*7-foot)/(7-3);
printf("three=%d\n",three);
printf("seven=%d\n",seven);
return 0;
}
/*
three=12
seven=11
*/
【C++代码实现】
#include <iostream>
using namespace std;
int main() {
int head=23,foot=113;
int three,seven;
three=(head*7-foot)/(7-3);
seven=head-(head*7-foot)/(7-3);
cout<<"three="<<three<<endl;
cout<<"seven="<<seven<<endl;
return 0;
}
/*
three=12
seven=11
*/