利用C語言實現「百馬百擔」問題方法示例

2022-10-04 00:33:14 字數 954 閱讀 5643

前言

百馬百擔問題,有100匹馬,馱100擔貨,大馬馱3擔,中馬馱2擔,兩匹小馬馱1擔,問共有多少種馱hlebrok法?且各種馱法中大、中、小馬各多少匹?

【分析】

1、定義整型變數m、n、k分別存放大馬匹數、中馬匹數、小馬匹數;

2、定義整型變數sum存放共有幾hlebrok種馱法,且sum賦初值為0;

3、根據題意,大馬、中馬、小馬共100匹;大馬、中馬、小馬馱100擔貨滿足如下關係:

m+n+k=100(匹)

3*m+2*n+1/2*k=100(擔)

4、三個未知數,兩個方程,此題有若干組解;

5、計算機求解此類問題,採用試湊法(也稱窮舉法)來實現,即將可能出現的各種情況一一羅列測試,判斷是www.cppcns.com否是問題真正的解。此題可以採用兩重迴圈,列舉出該問題所有可能的解進行篩選。

【源程式設計客棧程式】

#include

int main( void )

}printf("共有%d種馱法. ",sum);

return 0;

}【執行結果】

本演算法中主要用到了c語言的for迴圈,下面簡單介紹下for迴圈。

for迴圈

c語言中的for迴圈語句使用最為靈活,不僅可以用於迴圈次數已經確定的情況,而且可以用於迴圈次數不確定而只給出迴圈結束條件的情況,它完全可以代替while語句.

for(表示式 1;表示式 2;表示式 3)語句

它的執行過程如下:

(1)先求表示式 1.

(2)求表示式2,若其值為真(值為非0),則執行for語句中指定的內嵌語句,然後執行下面第三步 做若為假(值為0),則結束迴圈,轉到第5步.

(3)求解表示式3

(4)轉回上面第(2)步驟繼續執行;

(5)結束迴圈,執行for語句下面的乙個語句;

總結本文標題: 利用c語言實現「百馬百擔」問題方法示例

本文位址:

3 C語言百錢買百雞(百錢百雞,百雞問題)

中國古代數學家張丘建在他的 算經 中提出了乙個著名的 百錢買百雞問題 雞翁一,值錢五,雞母一,值錢三,雞雛三,值錢一,百錢買百雞,問翁 母 雛各幾何?1 使用 for 語句對 3 種雞的數嫌在事先確定好的範圍內進行窮舉並判斷,對滿足條件的 3 種雞的數量按指定格式輸出,否則進行下次迴圈。2 程式 如...

C語言 趣味小問題 百錢買百雞

2019 10 16 17 32 46 ps 中國古代數學家張丘建在他的 算經 中提出了乙個著名的 百錢買百雞問題 雞翁一,值錢五,雞母一,值錢三,雞雛三,值錢一,百錢買百雞,問翁 母 雛各幾何?百雞問題是乙個數學問題,出自中國古代約5 6世紀成書的 張邱建算經 是原書卷下第38題,也是全書的最後一...

利用C語言實現折半查詢

折半查詢,顧名思義,就是一組有順序的數,按照比較大小的方法找出某乙個數,類似二分法 如下 include includevoid find int arr1,int key,int right else if key arr1 mid left mid 1 else right mid 1 if l...