天天看点

算法学习之分支结构程序设计

鸡兔同笼问题

已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡的数目和兔的数目。

如果无解,则输出“No answer”。

分析:设鸡有a只,兔有b只,则a+b = n,2a+4b = m,联立解得a = (4n-m)/2,

b = n - a。

如果a和b不是整数,或者a和b有负数,就算错误。

程序如下:

算法学习之分支结构程序设计
算法学习之分支结构程序设计

三整数排序

输入3个整数,从小到大排序后输出。

分析:

a、b、c3个数一共只有6种可能的排序:abc、acb、bac、bca、cab、cba,所以最简单的思路是使用6条if语句。

算法学习之分支结构程序设计
算法学习之分支结构程序设计

还有一种思路是把a、b、c这3个变量本身改成a<=b<=c的形式。

算法学习之分支结构程序设计
算法学习之分支结构程序设计

还有一种思路,找出最大值,找出最小值。用总和减去最大和最小值,得到中间值。定义三个变量,分别表示最大值、最小值和中间值。

算法学习之分支结构程序设计

继续阅读