水仙花数、求某个范围内的素数、最小公倍数、杨辉三角

水仙花数
打印一定范围内的水仙花数:水仙花数是指一个n位数 (n≥3),它的每个位上的数字的n次幂之和等于它本身。(10分)
题目内容:
水仙花数是指一个n位数 (n≥3),它的每个位上的数字的n次幂之和等于它本身。
输入一个正整数max,输出100到max之间的所有水仙花数(包括max)。
输入格式:
共一行,为一个正整数。
输出格式:
若干行,从小到大输出水仙花数,一行为一个数。
输入样例:
2500
输出样例:
153
370
371
407
1634

def Fn(m):
    i = 100
    while i <= m:
        a = i
        s = 0
        l = len(str(i))   # 求几位数
        while a > 0:
            s += pow((a % 10), l)
            a = int(a/10)
        if s == i:
            print(i)
        i += 1


Fn(2500)

某个范围内的素数

def f():
    n = int(input())
    a = []
    for i in range(2, n):
        for j in range(2, i+1):
            if i % j == 0:
                break
        if j == i:
            a.append(i)
    print(a)

f()

最小公倍数

def lcm(num1,num2):
    d=max(num1,num2)
    while True:
        if d%num1==0 and d%num2==0:
            return d
        d+=1

num1=int(input())
num2=int(input())
print(lcm(num1,num2))
'''
或者:两个数在一行,空格分隔
a=list(map(int,input().split()))
lcm(a[0],a[1])
'''

杨辉三角

def generate(num_rows):
    triangle = []
    for row_num in range(num_rows):
        row = [None for _ in range(row_num+1)]
        row[0], row[-1] = 1, 1
        for j in range(1, len(row)-1):
            row[j] = triangle[row_num-1][j-1] + triangle[row_num-1][j]
        triangle.append(row)
    return triangle
    
print(generate(3))
发布了97 篇原创文章 · 获赞 12 · 访问量 5989
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 黑客帝国 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览