目录
打印一定范围的水仙花数
打印一定范围内的水仙花数:水仙花数是指一个n位数 (n≥3),它的每个位上的数字的n次幂之和等于它本身。
题目内容:
水仙花数是指一个n位数 (n≥3),它的每个位上的数字的n次幂之和等于它本身。
例如:153是一个“水仙花数”,因为 153 是个 3位数,而1**3+5**3+3**3==153。
输入一个正整数max,输出100到max之间的所有水仙花数(包括max)。
输入格式:
共一行,为一个正整数。
输出格式:
若干行,从小到大输出水仙花数,一行为一个数。
输入样例:
2500
输出样例:
153
370
371
407
1634
代码输入:
def is_narcissistic(n):
"""判断一个数是否为水仙花数"""
# 将整数转换为字符串,获取位数
digits = str(n)
length = len(digits)
# 计算各位数字的n次幂之和
sum_of_powers = sum(int(digit) ** length for digit in digits)
# 如果和等于原数,则为水仙花数
return sum_of_powers == n
# 读取输入
max_num = int(input())
# 遍历100到max之间的所有整数,打印出水仙花数
for num in range(100, max_num + 1):
if is_narcissistic(num):
print(num)
代码结果截图:
输入两个字符串,输出两个字符串集合的并集
题目内容:
输入两个字符串,输出两个字符串集合的并集。
为保证输出结果一致,请将集合内元素排序之后再输出,
输入格式:
共两行,每一行为一个字符串
输出格式:
共一行,为一个集合
输入样例:
abc
bcd
输出样例:
['a', 'b', 'c', 'd']
代码输入:
思路:
1)先从输入中读取两个字符串。2)将每个字符串转换为字符集合(set),以去除重复字符。3)合并这两个集合。4)将合并后的集合转换为列表,并排序。4)输出排序后的列表。
!!!union()函数是一个用于计算两个或多个集合的并集的函数。
!!!set()函数是 Python 中的一个内置函数,用于创建一个集合(set)对象。
# 读取两个字符串,并将两个字符串转化为集合 str1=input("请输入") str2=input("请输入") set1=set(str1) set2=set(str2) #合并集合 combine union_set=set1.union(set2) #将集合转化为列表排序 sorted_list=sorted(list(union_set)) print("排序后的列表",sorted_list)
代码结果截图:
与7相关的数
与7相关的数:如果一个正整数,它能被7整除或者它的十进制表示法中某个位数上的数字为7,则称之为与7相关的数。
题目内容:
现在我们给定一个正整数n(n<1000),求所有小于等于n的与7无关的正整数的平方和。
输入格式:
共一行,为一个正整数。
输出格式:
共一行,为一个正整数。
输入样例:
50
输出样例:
31469
代码输入:
思路:如果一个正整数,它能被7整除或者它的十进制表示法中某个位数上的数字为7,则称之为与7相关的数
!!!return: 如果与7相关则返回True,否则返回False
!!!计算小于等于n的与7无关的正整数的平方和
def pd_seven(num): if num % 7 ==0: return True return '7' in str (num) def not_seven(n): t_sum=0 for i in range(1,n+1): if not pd_seven(i): #判断 t_sum += i**2 return t_sum n=int(input("请输入:")) print(not_seven(n))
代码结果截图: