国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

中職C語言中窮舉法的編程方法探索

2017-01-18 07:34:55屠新兵
山西農(nóng)經(jīng) 2016年15期
關(guān)鍵詞:窮舉邗江名次

□屠新兵

(揚(yáng)州市邗江中等專業(yè)學(xué)校江蘇揚(yáng)州225009)

中職C語言中窮舉法的編程方法探索

□屠新兵

(揚(yáng)州市邗江中等專業(yè)學(xué)校江蘇揚(yáng)州225009)

在計(jì)算機(jī)編程語言的學(xué)習(xí)過程中,我們會遇到窮舉法的編程處理方法,包括百錢百雞問題、整錢化零問題、邏輯推理等等。本文主要以C語言編程為例,對窮舉法的編程方法進(jìn)行探索,讓大家對循環(huán)語句和分支語句有進(jìn)一步的了解。

C語言;窮舉法

在計(jì)算機(jī)編程語言的學(xué)習(xí)過程中,我們會遇到一些窮舉法的編程處理方法,包括百錢百雞問題、整錢化零問題、邏輯推理等等。當(dāng)我們對這些問題進(jìn)行分析時會發(fā)現(xiàn),它們中很多都可以用一種最原始的方法——窮舉法來解決。而窮舉法是最常用的一種方法,是C語言中的一個重要知識點(diǎn)。本文主要以C語言編程為例,對這些窮舉法的編程方法進(jìn)行探索,希望給大家?guī)硪欢ǖ膸椭?/p>

我們先來了解一下,什么是窮舉法。窮舉法的基本思想是根據(jù)題目的部分條件確定答案的大致范圍,并在此范圍內(nèi)對所有可能的情況逐一驗(yàn)證,直到全部情況驗(yàn)證完畢。下面通過幾個實(shí)例,來對窮舉法編程處理方法進(jìn)行探索。

1 百錢百雞問題

例1:我國古代數(shù)學(xué)家張丘建在《算經(jīng)》一書中提出的數(shù)學(xué)問題:雞翁一值錢五,雞母一值錢三,雞雛三值錢一。百錢買百雞,問雞翁、雞母、雞雛各幾何?

分析:本題用數(shù)學(xué)列方程解應(yīng)用題的方法,3個未知數(shù),兩個方程,解決起來比較麻煩。在C語言中,就是典型的窮舉法的例子,用100元來買雞,公雞的數(shù)量(用變量i表示)的變化范圍是0-20只,母雞的數(shù)量(用變量j表示)的變化范圍是0-33只,總共100只,那么小雞的數(shù)量(用變量k表示)k=100-i-j,知道了數(shù)量,如果價(jià)錢正好是100元,就是本題的答案。程序如下:

拓展:本題是3個未知數(shù),兩個方程,前兩個未知數(shù)可以通過窮舉的方法得到,第三個未知數(shù)可以通過其中的一個方程解得,另一個方程可以用來驗(yàn)證正確性。當(dāng)然,在本題中,小雞的數(shù)量也可窮舉,雙100可以用來驗(yàn)證,但這種算法讓計(jì)算機(jī)循環(huán)的次數(shù)太多,不夠優(yōu)化,所以不提倡。類似的題目有很多,如雞兔同籠問題,已知頭的數(shù)目和腳的數(shù)目,求雞兔各有多少,兩個方程,兩個未知數(shù),答案唯一,那么一個未知數(shù)用來窮舉,另一個未知數(shù)可以通過一個方程解得,剩下的一個方程用來驗(yàn)證。

2 整錢化零問題

例2:將1元錢換成1角、2角、5角的零錢,輸出所有的換法。

分析:本題與上題的不同之處是,本題只有一個限制條件就是10元,對個數(shù)沒有限制,那么這個限制條件是用來驗(yàn)證的,1角、2角、5角的數(shù)量必須通過窮舉得到。程序如下:

拓展:如果需要兌換的整錢數(shù)額再大一些,允許零錢的品種再多一點(diǎn),那就多加循環(huán)。類似的問題很多,比如:?2*7?=3848,等式中缺一個十位數(shù)和一個個位數(shù),編程求出這兩個數(shù)。前一個數(shù)的十位數(shù)和后一個數(shù)的個位數(shù)都需要窮舉,等式滿足即為找到。

3 邏輯推理問題

例3:甲、乙、丙、丁四人同時參加全國數(shù)學(xué)競賽,賽前甲乙丙分別做了預(yù)測:甲說:丙第一名,我第三名。乙說:我第一名,丁第四名。丙說:丁第二名,我第三名。成績揭曉后,發(fā)現(xiàn)他們每人只對了一半,輸出他們的名次。

分析:這是小學(xué)邏輯推理問題,人腦做起來相對簡單。編程來講,可以用窮舉法來解決,也就是甲、乙、丙、丁四人都有可能1原4名(名次不相同)。具體是:甲(用變量i表示)名次范圍1原4,循環(huán)沒問題;乙(用變量j表示)名次范圍1原4,與甲名次相同就跳過;丙(用變量k表示)的名次范圍1原4,與甲或乙相同就跳過;那么丁(用變量m表示)名次就是m= 10-i-j-k(1、2、3、4名次各一,總和是10),然后,驗(yàn)證三人的答案,答對一半可以用異或運(yùn)算符(^)來計(jì)算。程序如下:

1004-7026(2016)15-0125-02

F274

A

10.16675/j.cnki.cn14-1065/f.2016.15.094

屠新兵(1975.2-),男,江蘇邗江,揚(yáng)州市邗江中等專業(yè)學(xué)校綜合高中部主任,一級教師,研究方向:計(jì)算機(jī)教學(xué)。

猜你喜歡
窮舉邗江名次
揚(yáng)州邗江楊廟鎮(zhèn):念好“聯(lián)”字訣,建好“同心圓”
華人時刊(2022年5期)2022-10-21 00:05:20
邗江黃金社區(qū):社區(qū)為僑服務(wù)好 僑為社區(qū)貢獻(xiàn)多
華人時刊(2020年21期)2021-01-14 01:33:38
強(qiáng)調(diào)舉例,提高學(xué)生數(shù)學(xué)思維的深刻性
樹 葉
把所有名次都考上
莫愁(2018年33期)2018-11-14 02:11:48
淺談初中代數(shù)式最值的求解技巧
劃船比賽
幼兒100(2018年7期)2018-03-08 18:42:16
考試名次
分布式系統(tǒng)中的一種特殊規(guī)格字符集分片算法
新常態(tài)下文化資源優(yōu)勢轉(zhuǎn)化為產(chǎn)業(yè)強(qiáng)勢的路徑研究
将乐县| 曲阳县| 兴海县| 仙桃市| 绥宁县| 历史| 永仁县| 光泽县| 永登县| 容城县| 修水县| 观塘区| 西丰县| 肥东县| 仙居县| 利辛县| 宿松县| 鹤岗市| 搜索| 师宗县| 施甸县| 琼海市| 平度市| 大安市| 古浪县| 双柏县| 化德县| 英山县| 和田县| 德清县| 凤翔县| 根河市| 封丘县| 灵台县| 寿光市| 上蔡县| 蓬溪县| 新竹市| 广平县| 呼图壁县| 西城区|