C語言百錢買百雞問題(詳解版)
我國古代數(shù)學(xué)家張丘建在《算經(jīng)》一書中曾提出過著名的“百錢買百雞”問題,該問題敘述如下:雞翁一,值錢五;雞母一,值錢三;雞雛三,值錢一;百錢買百雞,則翁、母、雛各幾何?
翻譯過來,意思是公雞一個五塊錢,母雞一個三塊錢,小雞三個一塊錢,現(xiàn)在要用一百塊錢買一百只雞,問公雞、母雞、小雞各多少只?
題目分析
如果用數(shù)學(xué)的方法解決百錢買百雞問題,可將該問題抽象成方程式組。設(shè)公雞 x 只,母雞 y 只,小雞 z 只,得到以下方程式組:
A:5x+3y+1/3z = 100
B:x+y+z = 100
C:0 <= x <= 100
D:0 <= y <= 100
E:0 <= z <= 100
如果用解方程的方式解這道題需要進(jìn)行多次猜解,計算機的一個優(yōu)勢就是計算速度特別暴力并且無怨無悔,所以我們可以欺負(fù)她、蹂躪她!因此我們用窮舉法的方式來解題,需要 101^3 次猜解,但對于計算機來說,小 CASE!
代碼清單:
#include <stdio.h>
int main()
{
int i, j, k;
printf("百元買百雞的問題所有可能的解如下:\n");
for( i=0; i <= 100; i++ )
for( j=0; j <= 100; j++ )
for( k=0; k <= 100; k++ )
{
if( 5*i+3*j+k/3==100 && k%3==0 && i+j+k==100 )
{
printf("公雞 %2d 只,母雞 %2d 只,小雞 %2d 只\n", i, j, k);
}
}
return 0;
}</stdio.h>
運行結(jié)果:
百元買百雞的問題所有可能的解如下:
公雞 0 只,母雞 25 只,小雞 75 只
公雞 4 只,母雞 18 只,小雞 78 只
公雞 8 只,母雞 11 只,小雞 81 只
公雞 12 只,母雞 4 只,小雞 84 只
作者:大學(xué)生新聞網(wǎng) 來源:大學(xué)生新聞網(wǎng)
- C語言求完數(shù)(完全數(shù))
- 如果一個數(shù)等于它的因子之和,則稱該數(shù)為“完數(shù)”(或“完全數(shù)”)。例如,6的因子為1、2、3,而 6=1+2+3,因此6是“完數(shù)”。
- 03-11 關(guān)注:0
- C語言百錢買百雞問題(詳解版)
- 我國古代數(shù)學(xué)家張丘建在《算經(jīng)》一書中曾提出過著名的“百錢買百雞”問題
- 03-11 關(guān)注:0
- C語言輸出菱形(詳解版)
- 菱形,就是如下所示的圖形,總行數(shù)與總列數(shù)相等
- 03-11 關(guān)注:0
- C語言判斷素數(shù)(求素數(shù))(兩種方法)
- 素數(shù)又稱質(zhì)數(shù)。所謂素數(shù)是指除了 1 和它本身以外,不能被任何整數(shù)整除的數(shù),例如17就是素數(shù),因為它不能被 2~16 的任一整數(shù)整除。
- 03-11 關(guān)注:1
- C語言楊輝三角(兩種方法)
- 楊輝三角是我們從初中就知道的,現(xiàn)在,讓我們用C語言將它在計算機上顯示出來。
- 03-10 關(guān)注:5