當前位置:首頁 » 編程語言 » 雞兔同籠c語言編程教程
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

雞兔同籠c語言編程教程

發布時間: 2022-04-28 11:57:13

❶ Help,求解雞兔同籠問題(用c語言編程)

給你個思路:
1.兔子和雞的腳都是偶數 得到:n只腳的n是偶數;
2.n可以用一個數子來表示,即n=2k,k是自然數;
3.判斷k是奇數還是偶數,如果是偶數,則籠子中最少有n/4隻動物,如果是奇數,那麼籠子中最少有(k-1)/2隻兔子+1隻雞(這個可以輸出最少值);
4.無論k是奇數還是偶數,籠子中最多有k只動物(這個可以輸出最大值)。
end
程序是寫出來的,關鍵是思路要對。

❷ 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;

}

(2)雞兔同籠c語言編程教程擴展閱讀:

雞兔同籠解題思路:如果先假設它們全是雞,於是根據雞兔的總數就可以算出在假設下共有幾只腳,把這樣得到的腳數與題中給出的腳數相比較,看看差多少,每差2隻腳就說明有1隻兔,將所差的腳數除以2,就可以算出共有多少只兔。

概括起來,解雞兔同籠題的基本關系式是:兔數=(實際腳數-每隻雞腳數×雞兔總數)÷(每隻兔子腳數-每隻雞腳數)。類似地,也可以假設全是兔子。

❸ C語言編程雞兔同籠怎麼寫代碼

#include <stdio.h>
main()
{ unsigned long int a,b,c,d;
printf("這是一個用於算雞兔同籠的小程序(僅能輸入整數,使用回車鍵切換) 請輸入雞兔的總數");
scanf("%d",&a);
printf(" 請輸入雞兔腳的總數");
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只 兔有%ld只",c,d);
else printf

❹ C語言編寫雞兔同籠的問題

#include<stdio.h>
int main()
{
int a,b,M,N;
printf("請輸入雞兔的總頭數\n");
scanf_s("%d",&a);
printf("請輸入雞兔的總腿數\n");
scanf_s("%d",&b);
scanf_s("%d",&M);
M=(2*a)-(b/2);
printf("雞的數目為%d只");
scanf_s("%d",&N);
N=(b/2)-(a);
printf("兔的數目為%d只");
return 0;
}
我目前是C語言的新手,目前只會做這一類。如果用的是VS(visual studio)編程的話,scanf後必須加_s,這是VS獨有的,其他的編程軟體隨意。

❺ 求編寫一個雞兔同籠的程序,如圖,c語言

#include <stdio.h>


int main() {

for (int i = 1; i < 35; i++)

if (2 * i + (35 - i) * 4 == 94)

printf("雞有%d只,兔有%d只 ", i, 35 - i);

return 0;

}

❻ 用C語言窮舉法編寫雞兔同籠

#包括中
無效的主要()
{
整數雞,兔;
的printf(「雞\噸兔\
N」的);
的(雞=
0;雞<=
35;雞+
+)
{
兔子=
35
-
雞;
如果(8
*兔肉+
2
*雞==
94)的printf(「%d個\
T%D
\
N」的,雞,兔);

❼ 用C語言編寫雞兔同籠問題

#include
<stdio.h>
void
main(
)
{
int
ret
=
0;
//
表示最後一個printf的返回值
while(1)
{
int
h,f,c,r;
printf("請輸入頭的數目:");
scanf("%d",&h);
printf("\n請輸入腳的數目(必須為偶數):");
scanf("%d",&f);
while(f%2!=0
&&
f
!=
0
&&
h
!=
0)
//這里的不等於的條件可以不加
{
printf("\n輸入腳的數目為奇數,請重新輸入腳的數目(必須偶數):");
scanf("%d",&f);
if(
f
>
4h
||
f
<
2h)
continue;
}
for(c=0;c<=h;c++)
for(r=1;r<=h;r++)
//這句改成:for(r=0;
r
<=
h-c;
r++)好點,減少的循環的次數,加了效率
{
if(c+r==h&&2*c+4*r==f)
ret
=
printf("\n雞的數目為%d,兔子的數目為%d\n\n",c,r);
}
if(
ret
==
39)
/*作用是輸入一次成功後,結束大循環,
可以不要*/
break;
}
}

❽ c語言編程:雞兔同籠:已知雞和兔的總數量為n,總腿數為m,輸入n和m,輸出兔的數目。如果無解,

第一題的話我給你個高效率的演算法吧,思想很簡單,但略微奇葩了點,通過所有動物減去兩只腳,剩下兔子還剩兩只腳,來計算兔子數,然後也能得出雞的數量,這個你看看吧:
#include<stdio.h>
main()
{
//為了你能簡單的看懂,按照你給出的變數定義,並分開定義
int n; //總數量
int m;//總腿數
int sumt=0;//兔子的數量
int sumj=0;//雞的數量
int sum=0;
printf("輸入總數量:");
scanf("%d",&n);
printf("輸入總腿數:");
scanf("%d",&m);
sumt=(m-2*n)/2;
sumj=n-sumt;
sum=sumt*4+sumj*2;
if(sum!=m || sumt<0 || sumj<0)
{
printf("no answer\n");
}
else
{
printf("雞的數量%d,兔子的數量%d\n",sumj,sumt);
}

}
第二題就簡單點吧,看注釋:
#include<stdio.h>
main()
{
int a[3],k,i,j;
printf("輸入第一個數:");
scanf("%d",&a[0]);
printf("輸入第二個數:");
scanf("%d",&a[1]);
printf("輸入第三個數:");
scanf("%d",&a[2]);
//這樣子輸入方便你理解,也可以這樣解決 scanf("%d%d%d",&a[0],&a[1],&a[2]);
for(i=0;i<3;i++)
{
for(j=i+1;j<3;j++)
{
if(a[i]<a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
}
//這樣循環的話效率低,但好在容易理解,也能解決int類型數量裡面的數,多少個都成,但那時候不確定的話輸入輸出就要循環了
printf("%d>%d>%d/n",a[0],a[1],a[2]);
}

❾ 雞兔同籠問題C語言程序編寫

雞兔同籠,共有35個頭,94條腿,求雞和兔子各有多少只?

#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=23 d=12

拓展資料:

C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。

二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言制定了一套完整的美國國家標准語法,稱為ANSI C,作為C語言最初的標准。 目前2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。

C語言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。

其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

參考資料:C語言_網路