パートI:百の鶏肉を買うために百:面白いアルゴリズム最初の質問をはじめ

Pythonプログラミング言語の楽しいタイトルの100基の異なる種類

プログラムへの関心の栽培を解決する過程では、プログラミングの考え方を拡張し、プログラミング能力を向上させます。

パートIは:面白いアルゴリズム入門、最初の質問を

'''
1.百钱买百鸡:中国古代数学家张丘建在他的《算经》中提出了一个著名的 “ 百钱百鸡问题 “: 一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现在要用百钱买百鸡,请问公鸡、母鸡、小鸡各多少只?
'''
#答案示例如下;
import time  #导入time模块,以用来计算程序运行的时间,可忽视
time.perf_counter()   #与time模块中计算时间有关,可忽视

#主体代码块如下:

for cock in range(0,20):
    for hen in range(0,33-cock):
        chicken=100-cock-hen
        if chicken%3==0:
            if 5 * cock + 3 * hen + chicken / 3 == 100:
                print('公鸡{}只,母鸡{}只,小鸡{}只'.format(cock,hen,chicken))
                
                
print(time.perf_counter())  #打印出程序运行的时间,可忽视

#解本问题有多种方法,我只写了一种方法,读者可以自己尝试各种方法,再用time模块计算每种方法的运行时间。

追加:このアルゴリズムは、特定の問題を解決するための方法であり、プログラムの設計のための基礎であり、プログラミングが魂です。アルゴリズムとして5つの特徴、すなわち、有限の、確実性、実現可能性、入力および出力を有するべきです。コンピュータアルゴリズムは、2つのカテゴリ、すなわち、数値および非数値アルゴリズムアルゴリズムに分けることができ、数値を解決するためには、例えば、方程式の根を見つけるされ、このようなソートなどのトランザクション処理の問題の主なフィールドの非数値アルゴリズム、検索のように。

分析:百雄鶏を買うためにお金だけならば、あなたは20までの購入が、百、見ることができ、確かに0-20との間に買いオンドリの数を購入するための要求の対象とすることができます。同様に、中に鶏の数。 0〜33の間。コック、鶏と雛のこの数は、コック、鶏、チキン、コック+鶏+チキン= 100、そう買う百から百鶏の問題解決不定変換式はコック+鶏+鶏を付している== 100 5×コック+ 3×編+問題のチキン/ 3 = 100。

注:Pythonプログラミング言語興味深いタイトルの100本の異なる種類は、Cプログラミング言語の楽しみ書かれた質問の100本の異なる種類への参照で、次々に更新されます。あなたのプログラムのうち共有することを歓迎します。

おすすめ

転載: www.cnblogs.com/wby-110/p/12482971.html