使用Python代码实现:使用Python代码实现:要求实现一个函数,统计给定区间内的三位数中至少有两位数字相同的完全平方数(如144、676)的个数。
时间: 2024-12-19 14:24:23 浏览: 9
为了实现这个功能,我们可以创建一个函数`count_square_numbers`,它会遍历指定范围内的所有三位数,并检查它们是否是完全平方数且至少有两个数字相同。以下是完整的Python代码:
```python
def is_palindrome(num):
return str(num) == str(num)[::-1]
def count_square_numbers(start, end):
def is_perfect_square(n):
sqrt_n = int(n ** 0.5)
return sqrt_n * sqrt_n == n
perfect_squares = []
for num in range(start, end + 1):
if is_perfect_square(num) and is_palindrome(num):
digits = [int(digit) for digit in str(num)]
unique_digits = set(digits)
if len(unique_digits) <= 1:
perfect_squares.append(num)
return len(perfect_squares)
# 示例用法
start_range = 100
end_range = 999
result = count_square_numbers(start_range, end_range)
print(f"在区间 {start_range} 到 {end_range} 内,至少有两位数字相同的完全平方数有 {result} 个。")
```
这个代码首先定义了一个辅助函数`is_palindrome`来判断一个数是否是回文,然后在`count_square_numbers`函数中,我们筛选出完全平方数并检查其数字是否全部相同(如果只有一位或没有数字相同,则不符合条件)。最后返回符合条件的完全平方数的数量。
阅读全文