二、基本要求 1、设计函数找出六位数中所有的一数三平方数。2、设计函数求出100以内的二维基本勾股数组。 3、设计函数求四位的卡普列加数。 4、设计函数验证某正整数满足四个平方数和。 5、设计函数将0,1,2,3,4,5,6,7,8,9这十个数字组成一个一位数,一个两位数,一个三位数,一个四位数,使他们恰恰都是完全平方数,并按照三角形排列。 6、设计菜单函数,调用相关功能模块。
时间: 2023-06-17 20:05:37 浏览: 126
以下是对应的函数实现:
1、找出六位数中所有的一数三平方数
```python
def find_square_number():
for i in range(100000, 1000000):
count = 0
for j in range(1, int(i ** 0.5) + 1):
if i % j == 0:
if j == i // j:
count += 1
else:
count += 2
if count == 4:
print(i)
```
2、求出100以内的二维基本勾股数组
```python
def find_gougu_number():
for i in range(1, 101):
for j in range(i, 101):
for k in range(j, 101):
if i ** 2 + j ** 2 == k ** 2:
print(i, j, k)
```
3、求四位的卡普列加数
```python
def kaprekar_number():
for i in range(1000, 10000):
num = str(i)
num_square = str(i ** 2)
for j in range(1, len(num)):
left = int(num_square[:j])
right = int(num_square[j:])
if left + right == i and right != 0:
print(i)
```
4、验证某正整数满足四个平方数和
```python
def verify_square_number(num):
for i in range(int(num ** 0.5) + 1):
for j in range(int(num ** 0.5) + 1):
for k in range(int(num ** 0.5) + 1):
for l in range(int(num ** 0.5) + 1):
if i ** 2 + j ** 2 + k ** 2 + l ** 2 == num:
return True
return False
```
5、将0,1,2,3,4,5,6,7,8,9这十个数字组成一个一位数,一个两位数,一个三位数,一个四位数,使他们恰恰都是完全平方数,并按照三角形排列
```python
import itertools
def perfect_square():
nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for p in itertools.permutations(nums):
a = p[0]
b = p[1] * 10 + p[2]
c = p[3] * 100 + p[4] * 10 + p[5]
d = p[6] * 1000 + p[7] * 100 + p[8] * 10 + p[9]
if int(a ** 0.5) ** 2 == a and int(b ** 0.5) ** 2 == b and int(c ** 0.5) ** 2 == c and int(d ** 0.5) ** 2 == d:
print(a)
print(b, c)
print(d)
```
6、设计菜单函数,调用相关功能模块
```python
def menu():
while True:
print("1. 找出六位数中所有的一数三平方数")
print("2. 求出100以内的二维基本勾股数组")
print("3. 求四位的卡普列加数")
print("4. 验证某正整数满足四个平方数和")
print("5. 将0,1,2,3,4,5,6,7,8,9这十个数字组成一个一位数,一个两位数,一个三位数,一个四位数,使他们恰恰都是完全平方数,并按照三角形排列")
print("0. 退出")
choice = input("请输入选项:")
if choice == '1':
find_square_number()
elif choice == '2':
find_gougu_number()
elif choice == '3':
kaprekar_number()
elif choice == '4':
num = int(input("请输入正整数:"))
if verify_square_number(num):
print("该正整数满足四个平方数和")
else:
print("该正整数不满足四个平方数和")
elif choice == '5':
perfect_square()
elif choice == '0':
break
else:
print("输入错误,请重新输入!")
```
以上代码可以组成一个完整的程序,供用户选择不同的功能。
阅读全文