as火柴人

导航

例题

(绿色字体,常用基础的算法)

例子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:星号矩阵

对于有规律的画图,先把规律写成表达式的形式再写程序

posted on 2018-10-25 10:34  as火柴人  阅读(217)  评论(0)    收藏  举报