1. 程式人生 > >演算法練習:雞兔同籠問題

演算法練習:雞兔同籠問題

經典雞和兔同籠問題

  1. 根據雞和兔子的總數和他們腿的總數, 求出雞和兔的數量。
    題目: 現在在一個籠子裡有雞和兔子,他們的數量一共有55只, 雞腿數和兔子的腿數加起來有188條, 求雞有多少隻,兔子有多少隻。

Java程式碼

package algorithm;

public class Zhutu {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		for(int i=0;i<=55;i++){
			int j=55-i;
			if(i+j==55&&
i*4+j*2==188){ System.out.println("兔子的個數為:"+i+"\n雞的個數為:"+j); } } } }

列印結果:
兔子的個數為:39
雞的個數為:16

2.如果只知道雞和兔子的腿的數量為188, 不知道雞和兔子的數量,求雞可能為多少隻,兔子可能為多少隻。

package algorithm;

public class Jitu {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
//		兔子 和雞 的腿數一共有188只, 可以有多少隻兔子,多少隻雞
for(int i=0;i<=94;i++){ int j=(188-(2*i))/4; if(i*2+j*4==188){ System.out.println("雞的數量為:"+i+",兔子的數量為:"+j); } } } }

列印結果:
雞的數量為:0,兔子的數量為:47
雞的數量為:2,兔子的數量為:46
雞的數量為:4,兔子的數量為:45
雞的數量為:6,兔子的數量為:44
雞的數量為:8,兔子的數量為:43
雞的數量為:10,兔子的數量為:42
雞的數量為:12,兔子的數量為:41
雞的數量為:14,兔子的數量為:40
雞的數量為:16,兔子的數量為:39
雞的數量為:18,兔子的數量為:38
雞的數量為:20,兔子的數量為:37
雞的數量為:22,兔子的數量為:36
雞的數量為:24,兔子的數量為:35
雞的數量為:26,兔子的數量為:34
雞的數量為:28,兔子的數量為:33
雞的數量為:30,兔子的數量為:32
雞的數量為:32,兔子的數量為:31
雞的數量為:34,兔子的數量為:30
雞的數量為:36,兔子的數量為:29
雞的數量為:38,兔子的數量為:28
雞的數量為:40,兔子的數量為:27
雞的數量為:42,兔子的數量為:26
雞的數量為:44,兔子的數量為:25
雞的數量為:46,兔子的數量為:24
雞的數量為:48,兔子的數量為:23
雞的數量為:50,兔子的數量為:22
雞的數量為:52,兔子的數量為:21
雞的數量為:54,兔子的數量為:20
雞的數量為:56,兔子的數量為:19
雞的數量為:58,兔子的數量為:18
雞的數量為:60,兔子的數量為:17
雞的數量為:62,兔子的數量為:16
雞的數量為:64,兔子的數量為:15
雞的數量為:66,兔子的數量為:14
雞的數量為:68,兔子的數量為:13
雞的數量為:70,兔子的數量為:12
雞的數量為:72,兔子的數量為:11
雞的數量為:74,兔子的數量為:10
雞的數量為:76,兔子的數量為:9
雞的數量為:78,兔子的數量為:8
雞的數量為:80,兔子的數量為:7
雞的數量為:82,兔子的數量為:6
雞的數量為:84,兔子的數量為:5
雞的數量為:86,兔子的數量為:4
雞的數量為:88,兔子的數量為:3
雞的數量為:90,兔子的數量為:2
雞的數量為:92,兔子的數量為:1
雞的數量為:94,兔子的數量為:0