怎么用c语言编译鸡兔同笼
已知鸡和兔的总数量为n,总腿数为m,输入n和m,依次输出鸡的数目和兔的数目。如果无解则输出No answer。
输入:
两个整数b和m,如上所述。
输出:
鸡的数目和兔的数目。
我们假设a = 鸡只数,b = 兔只数(兔的脚数×总只数-总脚数)÷(兔的脚数-鸡的脚数)=鸡的只数,a = ( 4*n - m )/2。
总只数-鸡的只数=兔的只数,b = n - a。
具体代码:
#include "stdio.h"
int main() {
int a,b,n, m;
// a鸡的数量
// b兔的数量
// n鸡兔总数
// m总脚数
scanf("%d %d", &n,&m);
a = (4 * n - m) / 2;//算出鸡的数量
b = n - a;//算出兔的数量
if (a <= 0 || b <= 0) {
//结果小于等于0,答案不成立,无解
printf("No answer");
} else {
//结果大于0
printf("%d %d", a, b);
}
return 0;
}
(1)怎么用c语言编译鸡兔同笼扩展阅读:
鸡兔同笼解题思路:如果先假设它们全是鸡,于是根据鸡兔的总数就可以算出在假设下共有几只脚,把这样得到的脚数与题中给出的脚数相比较,看看差多少,每差2只脚就说明有1只兔,将所差的脚数除以2,就可以算出共有多少只兔。
概括起来,解鸡兔同笼题的基本关系式是:兔数=(实际脚数-每只鸡脚数×鸡兔总数)÷(每只兔子脚数-每只鸡脚数)。类似地,也可以假设全是兔子。
❷ 鸡兔同笼的问题 c语言怎么样编写
输入说明:
输入为两个正整数,第一个为
M
的值,第二个为
N
的值,用空格分隔。
输出说明:
若有解,输出两个整数,用空格分隔,第一个代表鸡的只数,第一个代表兔子的只数;若无解,直接输出一个
0。
算法:以列举法写程序,让计算机从鸡为0开始执行计算,利用循环语句计算大量次数后,得出最终结果。
具体程序为:
#include
int
main()
{int
chicken,rabbit;//鸡,兔子
int
M,N;//头,脚
printf("M=,N=");
scanf("%d
%d",&M,&N);
for(chicken=0;chicken<=M;chicken++)//鸡的数量从0到总头数M尝试
{if(chicken*2+rabbit*4==N)//如果总脚数与输入的总脚数相同
{printf("%d
%d",chicken,rabbit);//分别输出鸡、兔
return
0;//停止程序}}//for执行完表示找不到
printf("0");return
0;}
(2)怎么用c语言编译鸡兔同笼扩展阅读:
鸡兔同笼问题算法有很多种,编写出的程序不尽相同。下面列举几种算法,编写程序会更为简单一些。
有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔?
(1)假设全是鸡:2×35=70(只),鸡脚比总脚数少:94-70=24
(只)
兔子比鸡多的脚数:4-2=2(只),兔子的只数:24÷2=12
(只),鸡的只数:35-12=23(只)
假设全是兔子:4×35=140(只),兔子脚比总数多:140-94=46(只)
兔子比鸡多的脚数:4-2=2(只),鸡的只数:46÷2=23(只),兔子的只数:=35-23=12(只)(2)设鸡有x只,兔有y只。
解得
参考资料:鸡兔同笼(一种数学奥数题目)_网络
❸ 用C语言怎么打鸡兔同笼
#include<stdio.h>
int main()
{
int h,f,i,a,b;
printf("请输入头的个数h和脚的个数f:\n");
while(scanf("%d%d",&h,&f)!=EOF)
{
for(i=0;i<=h;i++)
{
a=i;
b=h-i;
if(a*2+b*4==f)
break;
}
if(i<=h)
printf("鸡有%d只,兔有%d只。\n",a,b);
else
printf("无解。\n");
}
return 0;
}
EOF是文件末尾end of file的意思,也就是这个程序可以输入多组测试数据,如果默认有解那么把后面的if和else改成一句printf就可以了
❹ 鸡兔同笼C语言
#include<stdio.h>
int main(){
int a,b,j,t;
scanf("%d %d",&a,&b);
for(j=0;j<=a;j++){
t=a-j;
if(j*2+t*4==b){
printf("%d %d",j,t);
return 0;
}
}
printf("Error\n");
return 0;
}
❺ C语言编程鸡兔同笼
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b,c,d;
a=35,b=94;
c=2*a-b/2;
d=b/2-a;
cout<<"c="<<c<<"d="<<d<<endl;
return 0;
}
拓展资料
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
❻ C语言编程鸡兔同笼怎么写代码
#include
<stdio.h>
main()
{
unsigned
long
int
a,b,c,d;
printf("这是一个用于算鸡兔同笼的小程序(仅能输入整数,使用回车键切换)\n请输入鸡兔的总数");
scanf("%d",&a);
printf("\n请输入鸡兔脚的总数");
scanf("%d",&b);
if(b%2
!=
0)
{
printf("输入的鸡兔脚的总数有错误!");
return
0;
}
c=(4*a-b)/2;
//
鸡的数目
d=a-c;
//
兔的数目
if(c*2+d*4==b)
printf("鸡有%ld只\n兔有%ld只",c,d);
else
printf
❼ C语言编写鸡兔同笼的问题
#include"stdio.h"
int main()
{
int M,N,x,y; /*x表示鸡数,y表示兔数*/
printf("请输入总头数和总脚数:");
scanf("%d%d",&M,&N);
x=(4*M-N)/2;
y=(N-2*M)/2;
if(x+y==M&&2*x+4*y==N) printf("%d %d",x,y);
else printf("0");
}
希望采纳
❽ 用C语言编写鸡兔同笼问题
#include
int
main()
{
int
chicken,rabbit;//鸡,兔子
int
m,n;//头,脚
printf("m=,n=");
scanf("%d
%d",&m,&n);
for(chicken=0;chicken<=m;chicken++)//鸡的数量从0到总头数m尝试
{
if(chicken*2+rabbit*4==n)//如果总脚数与输入的总脚数相同
{
printf("%d
%d",chicken,rabbit);//分别输出鸡、兔
return
0;//停止程序
}
}
//for执行完表示找不到
printf("0");
return
0;
}