python百钱买百鸡问题算法_百钱买百鸡问题的伪代码算法?
不同的編程語言,對于判斷語句,循環(huán)語句等的寫法是不一樣的。但對于同一問題,我們只關(guān)心算法,于是就提出了偽代碼,統(tǒng)一一下判斷語句怎么寫,循環(huán)語句怎么寫,這樣無論程序員學(xué)的是 C++,還是 JAVA,還是 python 就都可以用偽代碼來表達(dá)了。
看下維基百科的定義。偽代碼(英語:pseudocode),又稱為虛擬代碼,是高層次描述算法的一種方法。它不是一種現(xiàn)實存在的編程語言(已經(jīng)出現(xiàn)了類似偽代碼的語言,參見Nuva);它可能綜合使用多種編程語言的語法、保留字,甚至?xí)玫阶匀徽Z言。
它以編程語言的書寫形式指明算法的職能。相比于程序語言(例如Java、C++、C、Delphi 等等)它更類似自然語言。它是半形式化、不標(biāo)準(zhǔn)的語言。我們可以將整個算法運(yùn)行過程的結(jié)構(gòu)用接近自然語言的形式(這里可以使用任何一種作者熟悉的文字,例如中文、英文,重點是將程序的意思表達(dá)出來)描述出來。使用偽代碼,可以幫助我們更好的表述算法,不用拘泥于具體的實現(xiàn)。
人們在用不同的編程語言實現(xiàn)同一個算法時意識到,他們做出來的實現(xiàn)(而非功能)很不同。程序員要理解一個用他并不熟悉的編程語言編寫的程序,可能是很困難的,因為程序語言的形式限制了程序員對程序關(guān)鍵部分的理解。偽代碼就這樣應(yīng)運(yùn)而生了。
當(dāng)考慮算法功能(而不是其語言實現(xiàn))時,偽代碼常常得到應(yīng)用。計算機(jī)科學(xué)在教學(xué)中通常使用偽代碼,以使得所有的程序員都能理解。
比如這里的百錢買百雞問題。
for x ← 1 to 20 do
for y ← 1 to 33 do
z ← 100 - x - y
if 5 * x + 3 * y + z / 3 = 100 and z mod 3 = 0 then
output 公雞 x 只,母雞 y 只,小雞 z 只
end if
end for
end forC ++ 實現(xiàn)
#includeusing namespace std;
int main() {
for (int x = 1; x < 20; x++) {
for (int y = 1; y < 33; y++) {
int z = 100 - x - y;
if (5 * x + 3 * y + z / 3 == 100 && z % 3 == 0) {
cout << "公雞 " << x << " 只," << "母雞 " << y << " 只," << "小雞 " << z << " 只" << endl;
}
}
}
system("pause");
}JAVA 實現(xiàn)
package cc.windliang;
public class Test {
public void buy() {
for (int x = 1; x < 20; x++) {
for (int y = 1; y < 33; y++) {
int z = 100 - x - y;
if (5 * x + 3 * y + z / 3 == 100 && z % 3 == 0) {
System.out.println("公雞 " + x + " 只," + "母雞 " + y + " 只," + "小雞 " + z + " 只");
}
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stubTest t = new Test();
t.buy();
}
}python3 實現(xiàn)
for x in range(1,20):
for y in range(1,30):
z = 100 - x - y
if 5 * x + 3 * y + z / 3 == 100 and z % 3 == 0:
print("公雞 " + str(x) + " 只," + "母雞 " + str(y) + " 只," + "小雞 " + str(z) + " 只")
可以看到偽代碼是給人看到,并不能讓計算機(jī)去執(zhí)行,而用具體語言實現(xiàn)的話,就可以讓他們在各自的環(huán)境下運(yùn)行。
為了答題,把我壓箱底的 VS 編譯器打開了,點個贊吧 ^ ^
總結(jié)
以上是生活随笔為你收集整理的python百钱买百鸡问题算法_百钱买百鸡问题的伪代码算法?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python数据分析方法五种_加速Pyt
- 下一篇: python有什么好玩的库_你知道Pyt