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

雞免同籠c語言

發布時間: 2023-02-21 05:07:28

1. 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,就可以算出共有多少只兔。

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

2. 想用c語言解答雞兔同籠,怎麼做

代碼和運行實況見圖:

3. 雞兔同籠的問題 c語言怎麼樣編寫

1、編寫思路如下:

假設有x只雞,y只兔,兩者一共有m只頭,n只腳,則有:

x + y = m ; 2 * x + 4 * y = n ;

即得到關系式,x + 2y =n/2 , x + y = m , y = n/2 - m , x = 2 * m - n/2。

2、代碼及注釋如下:

#include<stdio.h>

main ( )

{

int a, b ;

printf("請分別輸入動物頭與腳的數目: ");

scanf("%d%d",&a,&b); //頭數為a, 腳數目為b;

printf("一共有%d只雞,%d只兔子 ",b/2-a,2 * a - b/2);

}

(3)雞免同籠c語言擴展閱讀:

常見雞兔同籠類型問題:

1、班主任張老師帶五年級(2)班50名同學栽樹,張老師栽5棵,男生每人栽3棵,女生每人栽2棵,總共栽樹120棵,問幾名男生,幾名女生?

2、大油瓶每瓶裝4千克,小油瓶2瓶裝1千克,現有100千克油裝了共60個瓶子。問大小油瓶各多少個?

3、小毛參加數學競賽,共做20道題,得67分,已知做對一道得5分,不做得0分,錯一題扣1分,又知道他做錯的題和沒做的同樣多。問小毛做對幾道題?

4、有蜘蛛,蜻蜓,蟬三種動物共18隻,共有腿118條,翅膀20對(蜘蛛8條腿;蜻蜓6條腿,2對翅膀;蟬6條腿,1對翅膀),三種動物各幾只?

4. c語言:雞、兔同籠,雞比兔多15隻,雞、兔共有腳132隻,問雞、兔各多少只

解:設兔有x只,則雞有(x+15)只。
4x+2(x+15)=132
4x+2x+30=132
6x=102
x=17
17+15=32(只)
答:雞有32隻,兔有17隻。

5. c語言編程算雞兔同籠

#include <stdio.h>

#include <windows.h>

main()

{ unsigned long int a,b,c,d;

printf("這是一個用於算雞兔同籠的小程序(僅能輸入整數,使用回車鍵切換) 請輸入雞兔的總數");

scanf("%d",&a);

printf(" 請輸入雞兔腳的總數");

scanf("%d",&b);

c=(4*a-b)/2; // 雞的數目

d=a-c; // 兔的數目

if(c*2+d*4==b) printf("雞有%ld只 兔有%ld只",c,d); // c和d反了

else printf("同學,我看你給的數有錯吧!");

Sleep(100000000)。

6. 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獨有的,其他的編程軟體隨意。

7. 雞兔同籠的問題 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;}
(7)雞免同籠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只。
解得
參考資料:雞兔同籠(一種數學奧數題目)_網路

8. 用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;
}
}

9. 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)以及超級電腦等作業平台。