1.使用for与while两种方法,计算500-1000以内能被3整除的数的个数
# 1.使用for与while两种方法,计算500-1000以内能被3整除的数的个数
# 1.1 使用for循环
for i in range(500, 1001):
if i % 3 == 0:
print(i)
# 1.2 使用while循环
i = 500
while i <= 1000:
if i % 3 ==0:
print(i)
i += 1
# 1.2 使用while循环
i = 500
while i < 1000:
if i % 3 == 0:
print(i)
i += 1
2.打印所有的水仙花数
# 水仙花数是指一个 3 位数,它的每个数位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。
# 2.打印所有的水仙花数
# 水仙花数是指一个 3 位数,它的每个数位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。
i = 100
while i < 1000:
if (i // 100) ** 3 + (i % 100 // 10) ** 3 + (i % 10) ** 3 == i:
print(i)
i += 1
3.输入10个数字, 打印输入数字最大值与最小值的差
# 3.输入10个数字, 打印输入数字最大值与最小值的差
count = 0
min_n = 99999999999
max_n = -99999999999
while count < 10:
num = int(input("请输入一个数:"))
if num > max_n:
max_n = num
elif num < min_n:
min_n = num
count += 1
print(max_n-min_n)
4.使用for与while两种方法求1000以内最大的10个质数的平均数
4.1 使用for 循环
# 4.使用for与while两种方法求1000以内最大的10个质数的平均数
# 4.1 使用for 循环
value = 0
count = 0
for i in range(1000, 1, -1):
for j in range(2, i):
if i % j == 0:
break
else:
value += i
count += 1
if count == 10:
print(value / count)
# 4.2 使用while循环
i = 1000
value = 0
count = 0
while i > 1:
j = 1
while j < i - 1:
j += 1
if i % j == 0:
break
else:
count += 1
value += i
if count == 10:
print(value / count)
i -= 1
5.使用for与while两种方法计算n的阶乘和 5的阶乘和 =5!+4!+3!+2!+1!
# 5.1 使用for循环
value = int(input("输入一个数字:"))
num = 0
for i in range(1, value + 1):
count = 1
for j in range(1, i + 1):
count *= j
num += count
print(num)
# 5.2 使用while循环
value = 2
i = 0
num = 0
while i < value:
i += 1
count = 1
j = 0
while j < i:
j += 1
count *= j
num += count
print(num)
6.一个五位数,若在它的后面写上一个7,得到一个六位数A,若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此五位数
7.随机生成5-10之间的数字,直到所有数字之和大于100,计算随机的次数
# 6.一个五位数,若在它的后面写上一个7,得到一个六位数A,若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此五位数
for i in range(10000, 100000):
if (i * 10 + 7) * 5 == 7 * 100000 + i:
print(i)
# 7.随机生成5-10之间的数字,直到所有数字之和大于100,计算随机的次数
import random
num = random.randint(5, 10)
value = 0
count = 0
while value <= 100:
value += num
count += 1
print(count)
8.斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,34,55,89...
# 求第n个数是几
# 8.斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,34,55,89...
# 求第n个数是几
i = int(input("输入一个数字:"))
tag = 0
num = 1
temp = 0
flag = 0
while tag < i - 1:
tag += 1
flag = num
num += temp
temp = flag
print(num)
9.找到1000以内相差为6的质数对(5,11)(7,13)...
# 9.找到1000以内相差为6的质数对(5,11)(7,13)...
num = 0
for i in range(2, 1000):
for j in range(2, i):
if i % j == 0:
break
for k in range(2, i + 6):
if (i + 6) % k == 0:
break
else:
print(i, i + 6)