#include<stdio.h> int main(){ int a; scanf("%d",&a); int max=a/2; int min=0; if(a%2==1){ //如果输入的腿总数为奇数,则输出0,0 max=0; min=0; } else{ if(a%4==0){ min=a/4; max=a/2; } else{ min=(a-2)/4+1; max=a/2; } } printf("%d %d",min,max); } //由于鸡有2只脚,兔子有4只脚,因此笼子里面脚的总数一定是个偶数。如果有奇数只脚,则输入不正确。即没有满足要求的情况出现,则输出2个0。 //当a是偶数时,若要动物数目最少,则应使动物尽量有4只脚,而要动物数目最多,则应使动物尽量有2只脚。因此本题无需用循环穷举,只需按上面的分析找到相应的计算式子即可 //如果总脚数a是4的倍数,则动物最少数目为a/4(全部为兔子),最多为a/2(全部为鸡)。 //如果总脚数a不是4的倍数,则动物最少数目为a/4+1(除1只鸡外,其余全部为兔子),最多为a/2(全部为鸡)。 |
Double click to view unformatted code.