本文目錄一覽:
- 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();
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/230189.html