本文目录一览:
- 1、鸡兔同笼的问题 c语言怎么样编写
- 2、我对数学很感兴趣,在自学奥数,自我感觉不算太笨,以前自学过半年c语言,而且我并不会参加竞赛,
- 3、计算机c语言,公鸡每只5元,母鸡每只3元,小鸡一元三只,用100元买一百只,求出公鸡、小鸡、母鸡各多少只
- 4、求高手帮忙编个小学奥数题 用C语言 越快越好 题目如下
- 5、奥数题 C语言
鸡兔同笼的问题 c语言怎么样编写
鸡兔同笼是中国古代的数学名题之一。
大约在1500年前,《孙子算经》中就记载了这个有趣的问题。书中是这样叙述的:
今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?
这四句话的意思是:
有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔?
已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡和兔的数目,如果无解,则输出“No answer”
程序如下:
#include stdio.h int main()
{ 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语言
我对数学很感兴趣,在自学奥数,自我感觉不算太笨,以前自学过半年c语言,而且我并不会参加竞赛,
为什么不参加竞赛,你不参加你怎么知道你的实力怎么发挥出来,输赢不重要好吧
计算机c语言,公鸡每只5元,母鸡每只3元,小鸡一元三只,用100元买一百只,求出公鸡、小鸡、母鸡各多少只
#includestdio.h
int main()
{
int x,y,z; //x公鸡数,y母鸡数,z小鸡数
for(x=1;x=20;x++) //100最多买20公鸡
for(y=1;y=34;y++) //100最多买34母鸡
for(z=1;z=100;z++) //最多只能有100小鸡
if(x+y+z==1005*x+3*y+z/3==100z%3==0)
{
printf("公鸡为:%d\t",x);
printf("母鸡为:%d\t",y);
printf("小鸡为:%d\t\n",z);
}
while(1);
return 0;
}
扩展资料:
鸡兔同笼,是中国古代著名典型趣题之一,记载于《孙子算经》之中。鸡兔同笼问题,是小学奥数的常见题型。
"鸡兔同笼"是一类有名的中国古算题。最早出现于《孙子算经》中。许多小学算术应用题都可以转化成这类问题,或者用解它的典型解法--"假设法"来求解。
求高手帮忙编个小学奥数题 用C语言 越快越好 题目如下
假设最多可能有1000个和尚在山上,用下面的程序可穷举出来
#define TOTAL_MAN 1000
void main(void)
{
int i, j; //i表示大和尚,j表示小和尚
for(i=1; iTOTAL_MAN; i++)
{
for(j=1; jTOTAL_MAN-i; j++)
{
if ( i + j == (i*(41/7.0) + j*(11/29.0)))
{
break;
}
}
if (j TOTAL_MAN-i)
{
break;
}
}
if(i TOTAL_MAN)
{
printf("大和尚%d个,小和尚%d个,共%d个和尚\r\n", i, j, i+j);
}
else
{
printf("无解,调整总和尚人数\r\n");
}
getchar();
}
奥数题 C语言
编译运行正确,结果是18,9和27,6和54,3
#include stdio.h
#include malloc.h
typedef struct list{
int x[3];
struct list * next;
}result;
int flag[10];
int a[10];
result* head=NULL;
void print()//打印满足条件的结果
{
if((a[1]*10+a[2])*a[3]==(a[4]*10+a[5])*a[6](a[1]*10+a[2])*a[3]==(a[7]*10+a[8])*a[9])
{
if(head==NULL)
{
result*p=(result*)malloc(sizeof(result));
p-x[0]=a[1]*100+a[2]*10+a[3];
p-x[1]=a[4]*100+a[5]*10+a[6];
p-x[2]=a[7]*100+a[8]*10+a[9];
p-next=head;
head=p;
printf("结果是:%d,%d\t%d,%d\t%d,%d\n",a[1]*10+a[2],a[3],a[4]*10+a[5],a[6],a[7]*10+a[8],a[9]);
}
else{//判断结果是否重复
result*q=head;
while(q!=NULL)
{
if((q-x[0]!=a[1]*100+a[2]*10+a[3])(q-x[1]!=a[1]*100+a[2]*10+a[3])(q-x[2]!=a[1]*100+a[2]*10+a[3]))
q=q-next;
else break;
}
if(q==NULL)
{
result* p=(result*)malloc(sizeof(result));
p-x[0]=a[1]*100+a[2]*10+a[3];
p-x[1]=a[4]*100+a[5]*10+a[6];
p-x[2]=a[7]*100+a[8]*10+a[9];
p-next=head;
head=p;
printf("结果是:%d,%d\t%d,%d\t%d,%d\n",a[1]*10+a[2],a[3],a[4]*10+a[5],a[6],a[7]*10+a[8],a[9]);
}
}
}
}
void fun(int i)//递归计算1~9的全排列
{
int k;
if (i==10)
{
print();
}
else
{
for(k=1;k=9;k++)
{
if(!flag[k])
{
a[i]=k;
flag[k]=1;
fun(i+1);
flag[k]=0;
}
}//end of for
}
}
int main(){
int k;
for(k=1;k=9;k++)
{
flag[k]=0;
}
fun(1);
getchar();
}