鱼C论坛

 找回密码
 立即注册
查看: 1939|回复: 1

编程

[复制链接]
发表于 2022-6-13 11:27:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Description
邱老师有个6岁的儿子,一天突然问邱老师鸡兔同笼的问题怎么解决。邱老师一想,这不可能用列方程式的方法来讲,只好在网上搜了一下,终于找到了一种霸气的解决办法来讲这个问题。先换了几个数字简化了一下题目:假如一个笼子里有若干只鸡和兔子(不考虑畸形和残疾),现在数出来头有12个,脚有40只,想知道鸡和兔子各有多少只?解决办法:(通过拟人化的语气)现在爸爸手里有一种特殊的枪,每开一枪,所有的动物会自动举起一条腿。爸爸先啪啪开了两枪,这时候所有的鸡都趴在了笼子里,每只兔子却还剩下两条腿站着(这时候站着的腿数就变成了40-12-12=16),所以,兔子总共有16的一半,即8只,当然,鸡就只有12-8=4只喽。儿子听得哈哈大笑,
马上就反问了:如果有40个头,55只脚,…,邱老师一听,脸都绿了。你能写个程序,帮邱老师算算么?
Input
有若干组测试数据。每一行有两个整数,分别表示头数和脚数。00结束
Output
每行输出鸡的数量及兔子的数量,如果无解,则输出NO。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-6-13 11:49:02 | 显示全部楼层
本帖最后由 jhq999 于 2022-6-13 14:17 编辑

Input
有若干组测试数据。每一行有两个整数,分别表示头数和脚数。00结束
Output
每行输出鸡的数量及兔子的数量,如果无解,则输出NO。
  1. int main()
  2. {
  3.         int heads=0,foots=0;
  4.         while(scanf("%d%d",&heads,&foots))
  5.         {
  6.                 if(heads&&foots)
  7.                 {       
  8.                         //int a;
  9.                         foots=foots-2*heads;
  10.                         if(foots%2||foots<0)printf("NO");
  11.                         else printf("%d %d",heads-foots/2,foots/2);
  12.                 }
  13.                 else
  14.                 {
  15.                         if(!(heads||foots))break;
  16.                         if(heads)printf("foots is 0.");
  17.                         else  printf("heads is 0.");
  18.                 }
  19.                
  20.         }
  21.         return 0;
  22. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-17 13:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表