1. 程式人生 > >C 語言程式設計 6.15 雞兔同籠,共有98個頭,386只腳。請用窮舉法程式設計計算雞,兔各多少隻。

C 語言程式設計 6.15 雞兔同籠,共有98個頭,386只腳。請用窮舉法程式設計計算雞,兔各多少隻。

數學思想:

x + y = 98   // x 只雞  y只兔子

2 x +  4(98-x) =  386 ;

得出 x 帶入 x + y = 98 ;

以上為數學解法,下面轉化為程式設計。

程式設計思想:

x 的取值範圍 從 0 到 98 

對應 y 的取值範圍 從 98 到 0 

 x 每增加 1 y 就減少 1

這就可以對應數學思想中的 x + y = 98

#include <stdio.h>
int main()
{
	int x,y = 98 ;

	for ( x = 0 ; x <= 98 ; x++ )
	{

		if ( 2 * x + 4 * y == 386)
		{
			printf("共有 %d 只雞,%d只兔子\n",x,y);
		}

		y-- ;                                    // 雞的個數每增加一個,兔子的個數就減少一個
	}
 
	return 0 ;
	
}

方法二:利用總的 ‘ 腳 ’ 的個數相加等於386

#include <stdio.h>
int main()
{
	int x = 0,y = 392 ;           // 全部都為兔子時候腳的只數為 392        

	for ( y = 392 ; y >= 0 ; y = y - 4 )     // y = y - 4 是每減少一隻兔子,少了4只腳
	{
		if ( y + x == 386)
		{
			printf("雞的只數為%d,兔子的只數為 %d\n\n",x/2,y/4);
		}
		x = x + 2 ;

	}
 
	return 0 ;
	
}