例题
(绿色字体,常用基础的算法)
例子1:百元百鸡问题:
三个未知数的穷举问题,用循环语句的叠加时只需要两层,要注意语句的内外,以及每次循环都要测试的条件写在最内层否则没有意义。
for i in range(1,21): for j in range(1,34): z=100-i-j if 5*i+3*j+z*(1/3)==100: print("rooster:",i,"hen",j,"chick",z) else: print("end")
例子2:求最小公倍数(穷举法)
x=eval(input("number1 is:")) y=eval(input("number2 is")) if x<y: x,y=y,x for i in range(x,x*y+1): if i%x==0&i%y==0: print("least common multiple:",i) break
用穷举法时,要注意break控制输出,break遍历到第一个满足if分支语句的数字i,就输出循环结果
求最小倍数的算法:最小公倍数=两整数的乘积÷最大公约数
最大公约数:辗转相除。相减法
https://blog.csdn.net/iwm_next/article/details/7450424
例子3:玫瑰数
求四位数的个位,十位,百位,千位数:int(n/1)%10 int(n/10)%10 int(n/100)%10 int(n/1000)%10
例子4:星号矩阵
对于有规律的画图,先把规律写成表达式的形式再写程序
浙公网安备 33010602011771号