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
如果用解方程的方式解這道題需要進行多次猜解,計算機的一個優(yōu)勢就是計算速度特別暴力并且無怨無悔,所以我們可以欺負她、蹂躪她!因此我們用窮舉法的方式來解題,需要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; }
運行結(jié)果:
百元買百雞的問題所有可能的解如下: 公雞 0 只,母雞 25 只,小雞 75 只 公雞 4 只,母雞 18 只,小雞 78 只 公雞 8 只,母雞 11 只,小雞 81 只 公雞 12 只,母雞 4 只,小雞 84 只
相關(guān)文章
詳解VS2019使用scanf()函數(shù)報錯的解決方法
本文主要介紹了詳解VS2019使用scanf()函數(shù)報錯的解決方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01C++?LeetCode0547題解省份數(shù)量圖的連通分量
這篇文章主要為大家介紹了C++?LeetCode0547題解省份數(shù)量圖的連通分量示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12C++實現(xiàn)LeetCode(167.兩數(shù)之和之二 - 輸入數(shù)組有序)
這篇文章主要介紹了C++實現(xiàn)LeetCode(167.兩數(shù)之和之二 - 輸入數(shù)組有序),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-08-08