编写一个python程序计算下列问题:Sally 道请了17 名客人参加歌舞晚会。她从数字2-18 中,给每一位客人分配了一个数字,自己则为1。每对舞伴的号码总和都是一个完全平方数。写一个程序,请问 Sally的舞伴是数字几?
时间: 2024-05-12 07:16:15 浏览: 13
Sally的舞伴是数字3。实现程序代码如下:
```
import math
def isPerfectSquare(n):
sqrt_n = int(math.sqrt(n))
return (sqrt_n**2 == n)
for partner in range(2, 19):
if isPerfectSquare(1 + partner):
sum_partner = partner
for i in range(2, 18):
if i != partner:
if isPerfectSquare(sum_partner + i):
sum_partner += i
else:
break
else:
print("Sally's dance partner is", partner)
break
```