python百钱买百鸡问题算法_百钱买百鸡问题的伪代码算法?
不同的編程語(yǔ)言,對(duì)于判斷語(yǔ)句,循環(huán)語(yǔ)句等的寫(xiě)法是不一樣的。但對(duì)于同一問(wèn)題,我們只關(guān)心算法,于是就提出了偽代碼,統(tǒng)一一下判斷語(yǔ)句怎么寫(xiě),循環(huán)語(yǔ)句怎么寫(xiě),這樣無(wú)論程序員學(xué)的是 C++,還是 JAVA,還是 python 就都可以用偽代碼來(lái)表達(dá)了。
看下維基百科的定義。偽代碼(英語(yǔ):pseudocode),又稱為虛擬代碼,是高層次描述算法的一種方法。它不是一種現(xiàn)實(shí)存在的編程語(yǔ)言(已經(jīng)出現(xiàn)了類似偽代碼的語(yǔ)言,參見(jiàn)Nuva);它可能綜合使用多種編程語(yǔ)言的語(yǔ)法、保留字,甚至?xí)玫阶匀徽Z(yǔ)言。
它以編程語(yǔ)言的書(shū)寫(xiě)形式指明算法的職能。相比于程序語(yǔ)言(例如Java、C++、C、Delphi 等等)它更類似自然語(yǔ)言。它是半形式化、不標(biāo)準(zhǔn)的語(yǔ)言。我們可以將整個(gè)算法運(yùn)行過(guò)程的結(jié)構(gòu)用接近自然語(yǔ)言的形式(這里可以使用任何一種作者熟悉的文字,例如中文、英文,重點(diǎn)是將程序的意思表達(dá)出來(lái))描述出來(lái)。使用偽代碼,可以幫助我們更好的表述算法,不用拘泥于具體的實(shí)現(xiàn)。
人們?cè)谟貌煌木幊陶Z(yǔ)言實(shí)現(xiàn)同一個(gè)算法時(shí)意識(shí)到,他們做出來(lái)的實(shí)現(xiàn)(而非功能)很不同。程序員要理解一個(gè)用他并不熟悉的編程語(yǔ)言編寫(xiě)的程序,可能是很困難的,因?yàn)槌绦蛘Z(yǔ)言的形式限制了程序員對(duì)程序關(guān)鍵部分的理解。偽代碼就這樣應(yīng)運(yùn)而生了。
當(dāng)考慮算法功能(而不是其語(yǔ)言實(shí)現(xiàn))時(shí),偽代碼常常得到應(yīng)用。計(jì)算機(jī)科學(xué)在教學(xué)中通常使用偽代碼,以使得所有的程序員都能理解。
比如這里的百錢買百雞問(wèn)題。
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 ++ 實(shí)現(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 實(shí)現(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 實(shí)現(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ì)算機(jī)去執(zhí)行,而用具體語(yǔ)言實(shí)現(xiàn)的話,就可以讓他們?cè)诟髯缘沫h(huán)境下運(yùn)行。
為了答題,把我壓箱底的 VS 編譯器打開(kāi)了,點(diǎn)個(gè)贊吧 ^ ^
總結(jié)
以上是生活随笔為你收集整理的python百钱买百鸡问题算法_百钱买百鸡问题的伪代码算法?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python数据分析方法五种_加速Pyt
- 下一篇: python有什么好玩的库_你知道Pyt