81 lines
3.1 KiB
Python
81 lines
3.1 KiB
Python
# 一.求100-999之间的水仙花数
|
||
# 水仙花数:
|
||
# 是指一个n位数(n≥3),其每个位上的数字的n次幂之和等于它本身。
|
||
# 例如,三位数153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
|
||
|
||
# 思路:
|
||
# 1.如何获取一个三位数的个位,十位,百位
|
||
# 2.如何设定条件:个位*个位*个位 + 十位*十位*十位 + 百位*百位*百位 = 百十个
|
||
|
||
# 代码
|
||
"""
|
||
i = 100
|
||
while i <= 999:
|
||
a = i % 10 # 个位
|
||
b = i % 100 // 10 # 十位(//符号获取商的整数部分)
|
||
c = i // 100 # 百位
|
||
if a*a*a + b*b*b + c*c*c == i: #设定条件
|
||
print(i,end=',') # 一行输出,逗号分隔 153,370,371,407
|
||
i += 1
|
||
"""
|
||
|
||
"""
|
||
for num in range(100,1000): # 循环产生100-999
|
||
# 获取一个三位数的个位,十位,百位
|
||
a = num % 10 # 个位
|
||
b = num % 100 // 10 # 十位(//符号获取商的整数部分)
|
||
c = num // 100 # 百位
|
||
if a*a*a + b*b*b + c*c*c == num: #设定条件
|
||
print(num,end=',') # 一行输出,逗号分隔 153,370,371,407
|
||
"""
|
||
|
||
# 二.打印输出100以内的不带7且不是7的倍数
|
||
# 分析:
|
||
# 1.循环1-100个数
|
||
# 2.不是7的倍数:无法和7整除,采用取余的方式进行判断
|
||
# 3.不带7(个位不能是7,十位不能是7)
|
||
|
||
# for num in range(1,101): # 循环1-100个数
|
||
# if (num % 7 != 0) and (num % 10 != 7) and (num // 10 != 7) :
|
||
# # 不是7的倍数(num % 7 != 0)
|
||
# # 个位不能是7(num % 10 != 7)
|
||
# # 十位不能是7(num // 10 != 7)
|
||
# print(num,end=',')
|
||
|
||
|
||
num = 1
|
||
while num <= 100:
|
||
if (num % 7 != 0) and (num % 10 != 7) and (num // 10 != 7) :
|
||
# 不是7的倍数(num % 7 != 0)
|
||
# 个位不能是7(num % 10 != 7)
|
||
# 十位不能是7(num // 10 != 7)
|
||
print(num,end=',')
|
||
num += 1
|
||
|
||
# 三.判断输入的数字是否是素数(素数就是能够被1和自身整除的数)
|
||
# 分析:
|
||
# 如果判断这个数字是否是素数,可以通过取余实现(取余针对整除进行运算)
|
||
# 根据概念一个数字除了1和自身,其他的数字都不能和它进行整除
|
||
# 例如:19 除了1和自身都不能和它整除(剩下的2-18都不能整除)
|
||
# 例如:23 除了1和自身都不能和它整除(剩下的2-22都不能整除)
|
||
# 例如:29 除了1和自身都不能和它整除(剩下的2-28都不能整除)
|
||
# 得到规律,想证明一个数字是否是素数,和除了1和自身之外的中间数字进行整除
|
||
|
||
# 代码
|
||
# num = int(input('请输入一个数字:')) # 输入的数字
|
||
# flag = True # 是否素数的标记(True素数,False不是素数)
|
||
# if num < 2: # 最小的素数是 2
|
||
# flag = False # 不是素数
|
||
# else: # 输出的数字肯定>=2
|
||
# # 判断是否是素数,用输出的数字和和除了1和自身之外的中间数字进行整除
|
||
# # 假设输入的是19 和2-18整除
|
||
# for i in range(2, num):
|
||
# if num % i == 0: # 能整除,不是素数
|
||
# flag = False
|
||
# break # 结束循环,有一个能整除,就说明不是素数,可以结束循环
|
||
|
||
# 根据flag进行判断
|
||
# if flag:
|
||
# print(f'{num}是素数')
|
||
# else:
|
||
# print(f'{num}不是素数') |