美术培训班有3名学员,他们的年龄满足以下条件:他们的年龄都是正整数; 2号学员的年龄是1号学员年龄的一半; 3号学员比2号学员大7岁; 3名学员的年龄之和是不超过70的素数,且该素数的各位数字之和为13,那么这3位学员的年龄分别是多少岁?
设1号学员的年龄为岁,则根据条件可得:
- 2号学员的年龄为岁
- 3号学员的年龄为岁
根据题目中的条件,我们需要找到满足以下要求的素数:
- 年龄之和不超过70
- 素数的各位数字之和为13
现在,我们可以编写代码来寻找满足条件的年龄组合:
def is_prime(n):
if n == 1:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
# 寻找满足条件的年龄组合
for x in range(1, 71):
age_sum = x + x/2 + x/2 + 7
digit_sum = sum(map(int, str(int(age_sum))))
if is_prime(age_sum) and digit_sum == 13:
print("1号学员年龄:", x, "岁")
print("2号学员年龄:", int(x/2), "岁")
print("3号学员年龄:", int(x/2) + 7, "岁")
break
运行上述代码,可以得到以下输出:
1号学员年龄: 30 岁
2号学员年龄: 15 岁
3号学员年龄: 22 岁
因此,1号学员的年龄为30岁,2号学员的年龄为15岁,3号学员的年龄为22岁。