想用c语言解答鸡兔同笼,怎么做?
鸡兔同笼问题,归根结底是一个数学问题。用C语言处理数学问题,无外乎两种方式。 假定头的数量为A, 脚的数量为B。 一、暴力求解: //枚举鸡的数量 int flag = 0; for(i = 0; i <= A; i++) { j = A - i; if (i * 2 + j * 4 == B) { flag = 1; printf("ans is: %d, %d\n", i, j); break; } } if (flag == 0) { puts("No answer!"); } 二、建立数学模型求解 鸡兔同笼问题是个二元一次方程组问题。 X + Y = A 2X + 4Y = B X =鸡兔同笼C语言
#include
voidmain()
{inta,b,c,d;
printf("这是一个用于算鸡兔同笼的小程序\n请输入鸡兔的总数");
scanf("%d",&a);
if(a>=0)
{
printf("\n请输入鸡兔脚的总数");
scanf("%d",&b);
if(b%2==1)
printf("脚的数量出现奇数,真奇怪啊!\n");
elseif(b<=a*4&&b>=a*2)
{
c=(4*a-b)/2;//鸡的数目
d=a-c;//兔的数目
if(c*2+d*4==b)
printf("鸡有%ld只\n兔有%ld只\n",c,d);//c和d反了
else
printf("这个真难,计算机也没法算!\n");
}
else
printf("输入鸡兔脚的数量范围不正确,正确的范围是%d--%d!\n",a*2,a*4);
}
else
printf("数量不能为负!\n");
}
用C语言编写鸡兔同笼问题
#include鸡兔同笼的问题 c语言怎么样编写
鸡兔同笼是中国古代的数学名题之一。
大约在1500年前,《孙子算经》中就记载了这个有趣的问题。书中是这样叙述的:
今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?
这四句话的意思是:
有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔?
已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡和兔的数目,如果无解,则输出“No answer”
程序如下:
#include
{ int T; int n; int m;
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&n,&m);
if((m-2*n)>=0 && (m-2*n)%2==0 && (4*n-m)>=0 && (4*n-m)%2==0)
printf("%d %d\n",(4*n-m)/2,(m-2*n)/2);
else
printf("No answer\n");
} return 0;
}
扩展资料:
C语言新手编程注意事项:
1、书写标识符时,忽略了大小写字母的区别。
2、忽略了变量的类型,进行了不合法的运算。
3、将字符常量与字符串常量混淆。
4、忽略了“=”与“==”的区别。
5、忘记加分号。
6、多加分号。
7、输入变量时忘记加地址运算符“&”。
8、输入数据的方式与要求不符。
参考资料来源:百度百科-C语言