窮舉法
也成列舉法,基本思想是:首先依據題目的部分條件確定答案的大致範圍,然後對此範圍內的所有可能的情況進行逐一驗證,知道全部情況驗證完畢,若某個情況驗證符合題目條件,則為本題的乙個答案,若全部情況都驗證完後均不符合題目條件,則本題無解。
百錢買白雞,這是乙個經典的不定方程求解問題。問題如下:公雞5元乙隻,母雞3元乙隻,小雞1元三隻。問:用100元錢買100隻雞,公雞,母雞,小雞各買多少只?
題目分析:
假設,公雞g只,母雞m只,小雞x只。
g+m+x=100
5g+3m+x/3=100
可以採用窮舉法來求解。
取值範圍為:0<=g<=20
0<=m<=33
0<=x<=100
intmain()}}
return0;
}
遞推法
從已知條件出發,逐步推出題目所要求的各中間結果和最後結果的演算法即為遞推法。
求n!題目分析:
n!=n(n-1)!
首先計算出1!,計算2*1!,則推出2!,進一步推出3!,4!,。。。。n!
intmain()
printf(
"%d\n
",sum);
return0;
}
求菲波那切數列的第n項。這個數列有如下特點,第1,第2個數為1,從第3個數開始,每個數是前兩個數之和,其數列為:1,1,2,3,5,8,.........
題目分析:
f1=1 n=1
f2=1 n=2
f3=f1+f2 n>=3
#includeintmain()
printf(
"%d\n
",f3);
return0;
}
js常用的迴圈遍歷方法
for in 迴圈 for of 迴圈 遍歷所有資料結構的統一的方法 for in 迴圈主要用於遍歷普通物件,i 代表物件的 key 值,obj i 代表對應的 value 但是遍歷陣列時候,要注意,因為 i 輸出為字串形式,而不是陣列需要的數字下標,這意味著在某些情況下,會發生字串運算,導致資料錯...
for迴圈迭代列表的常用方法
1.什麼是for迴圈 for 迴圈又稱為計數迴圈,是因為 for 迴圈次數由可迭代物件來決定,我們學過的字串就是可迭代物件。例如 列表 元組 字典 集合等都屬於可迭代物件。現在大家可以用for迴圈來判斷物件是否是可迭代的。2.簡單的寫乙個for迴圈 for迴圈可以把字串裡面的每個元素都依次取出來,自...
常用的程式除錯方法(C C )
編譯錯誤 變數使用前未定義 函式名拼寫錯誤 括號匹配失敗 漏分號用了中文標點 乙個工程內多個main函式 建立工程選錯型別 用.件來進行編輯 變數使用前未定義 老編譯器 輸入函式漏 號,導致訪問了非法記憶體 野位址的引用 陣列越界 除錯手段 1 出現對話方塊提示runtime error時,讀懂所反...