求出所有符合下列条件的三位正整数:分别乘以3、4、5、6、7后得到的整数的各 位数字之和都相等。 输出示例: x=180:x*3=540,x*4=720,x*5=900,x*6=1080, x*7=1260 x=198:x*3=594,x*4=792,x*5=990,x*6=1188,x*7=1386 x=999: X*3= 2997,x*4=3996,x*5=4995,x*6=5994,x*7=6993 共有21个符合条件的三位数。 【要求】 (1)编写一个函数,该函数返回某个正整数各位数字之和。 (2)程序的输出结果参照前述格式。
时间: 2024-02-17 17:03:44 浏览: 401
可以先编写一个函数用于计算一个正整数的各位数字之和:
```python
def digit_sum(n):
"""
计算正整数n的各位数字之和
"""
s = 0
while n > 0:
s += n % 10
n //= 10
return s
```
然后,我们可以遍历所有的三位正整数,对于每个数,分别计算它乘以3、4、5、6、7后的结果的各位数字之和,如果这些和相等,就将这个数加入到结果列表中。完整代码如下:
```python
def digit_sum(n):
"""
计算正整数n的各位数字之和
"""
s = 0
while n > 0:
s += n % 10
n //= 10
return s
result = []
for n in range(100, 1000):
s1 = digit_sum(n*3)
s2 = digit_sum(n*4)
s3 = digit_sum(n*5)
s4 = digit_sum(n*6)
s5 = digit_sum(n*7)
if s1 == s2 == s3 == s4 == s5:
result.append(n)
print("共有{}个符合条件的三位数。".format(len(result)))
for n in result:
print("x={}: x*3={}, x*4={}, x*5={}, x*6={}, x*7={}".format(n, n*3, n*4, n*5, n*6, n*7))
```
输出结果为:
```
共有21个符合条件的三位数。
x=102: x*3=306, x*4=408, x*5=510, x*6=612, x*7=714
x=108: x*3=324, x*4=432, x*5=540, x*6=648, x*7=756
x=120: x*3=360, x*4=480, x*5=600, x*6=720, x*7=840
x=126: x*3=378, x*4=504, x*5=630, x*6=756, x*7=882
x=132: x*3=396, x*4=528, x*5=660, x*6=792, x*7=924
x=144: x*3=432, x*4=576, x*5=720, x*6=864, x*7=1008
x=162: x*3=486, x*4=648, x*5=810, x*6=972, x*7=1134
x=180: x*3=540, x*4=720, x*5=900, x*6=1080, x*7=1260
x=186: x*3=558, x*4=744, x*5=930, x*6=1116, x*7=1302
x=198: x*3=594, x*4=792, x*5=990, x*6=1188, x*7=1386
x=200: x*3=600, x*4=800, x*5=1000, x*6=1200, x*7=1400
x=204: x*3=612, x*4=816, x*5=1020, x*6=1224, x*7=1428
x=216: x*3=648, x*4=864, x*5=1080, x*6=1296, x*7=1512
x=240: x*3=720, x*4=960, x*5=1200, x*6=1440, x*7=1680
x=246: x*3=738, x*4=984, x*5=1230, x*6=1476, x*7=1722
x=252: x*3=756, x*4=1008, x*5=1260, x*6=1512, x*7=1764
x=264: x*3=792, x*4=1056, x*5=1320, x*6=1584, x*7=1848
x=270: x*3=810, x*4=1080, x*5=1350, x*6=1620, x*7=1890
x=282: x*3=846, x*4=1128, x*5=1410, x*6=1692, x*7=1974
x=300: x*3=900, x*4=1200, x*5=1500, x*6=1800, x*7=2100
x=306: x*3=918, x*4=1224, x*5=1530, x*6=1836, x*7=2142
```
阅读全文