python练习——圆周率的计算,四位玫瑰数,100内素数和

    xiaoxiao2023-09-30  157

    一、 圆周率计算——蒙塔卡罗方法

    import time import random DARES = 1000*1000 hits = 0.0 start = time.perf_counter() for i in range(1, DARES+1): x, y = random.random(),random.random() dist = pow(x**2+y**2, 0.5) if dist <= 1.0: hits += 1 pi = 4 * (hits/DARES) print("圆周率是:{}".format(pi)) print(("运行时间是:{:.5f}s".format(time.perf_counter()-start)))

    二、四位玫瑰数

    描述‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬:

    四位玫瑰数是4位数的自幂数。自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

    例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数,3位数的自幂数被称为水仙花数。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

    请输出所有4位数的四位玫瑰数,按照从小到大顺序,每个数字一行。

    for i in range(1000, 10000): a = i//1000 b = i//100 % 10 c = i//10 % 10 d = i % 10 if pow(a, 4)+pow(b, 4)+pow(c, 4)+pow(d, 4) == i: print(i) 输出: 1634 8208 9474

    三、计算100内素数和

    a = 0 for i in range(2, 100+1): b = int(pow(i, 0.5)) + 1 for j in range(2, b): if i % j == 0 : break else: a += i print(a)
    最新回复(0)