用傳統流程圖表示求解以下問題的算法
-
有兩個瓶子A和B,分別盛放醋和醬油,要求將他們互換(即A瓶原來盛醋,現在盛醬油,B瓶則相反)。
解析:
用兩個瓶子顯然很難實現,可以借助一個空瓶子C作為中轉,先將A中醋導入C中,然后將B中的醬油導入A中,最后將C中的醋導入B中即可實現交換。
-
依次將10個數輸入,要求輸出其中最大的數。
解析:
先輸入10個整數,將第一個整數給max,然后依次取剩余整數與max進行比較,如果某個整數大於max,將該整數交給max,直到所有剩余整數全部比較完,max中保存的即為最大整數,將max值輸出。
-
有3個數a,b,c, 要求按大小順序把他們輸出。
解析:
i:先用a和b比較,如果a大於b,將a與b內容交換,否則進行ii
ii:用c和a比較,如果c大於a,將a和c交換,否則進行iv
iii:用c和b比較,如果c大於b,將c和b進行交換,否則進行iv
iv:輸出a、b、c,結束
-
求1 + 2 + 3 + ... + 100。
解析:
給定N為1,sum為0,如果N 小於等於100時,進行sum += N,直到N超過100,循環操作完成后sum即為從1加到100的結果。
-
判斷一個數n能否同時被3和5整除。
解析:
i:輸入數據n
ii:如果n能被3整數,進行iii,否則輸出n不能被3和5整數
iii:如果n能被5整數,輸出n能被3和5整數,否則n不能被3和5整數
-
將100~200之間的素數輸出
素數:即數學中的質數,因子只有1和其本身的數字稱為質數。
對100和200之間的每個數進行一下操作:
該數能否被2~該數之間的所有數整除,是則是素數輸出,否則取下一個數字。
-
求兩個數m和n的最大公約數
解析:輾轉相除法
a. 如果m大於n,交換m和n
b. 循環進行一下操作:
n是否為0? 是則最大公約數為m,輸出m結束。
否則:用m%n結果給r,將n的值給m,將r的值給n
-
求方程\(ax^2 + bx + c = 0\)的根。分別考慮:
- 有兩個不相等的實根;
- 有兩個相等的實根;
解析:
如果\(b^2 - 4ac > 0\)則方程有兩個不相等的實根:\(x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}\)
如果\(b^2 - 4ac = 0\)則方程有一個實根:\(x=\frac{-b}{2a}\)
如果\(b^2 - 4ac < 0\)則方程沒有實根。