以下是一个简单的 Python OJ 系统,它提供了一个 Python 环境和一组基本的数学函数,用于解决数学问题。
import random
# 生成随机数
def generate_random_number():
return random.randint(1, 100)
# 求最大公约数
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
# 求最小公倍数
def lcm(a, b):
return (a * b) // gcd(a, b)
# 判断一个数是否为回文数
def is_palindrome(num):
return str(num) == str(num)[::-1]
# 判断一个数是否为素数
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
# 判断一个数是否为质数
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
# 判断一个数是否为合数
def is_composite(num):
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0 or num % (i * i) == 0:
return True
return False
# 计算阶乘
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
# 计算斐波那契数列
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
# 打印前 n 个自然数
def print_numbers(n):
for i in range(1, n+1):
print(i)
# 测试代码
print("Wel计算最大公约数")
print("2. 计算最小公倍数")
print("3. 判断一个数是否为回文数")
print("4. 判断一个数是否为素数")
print("5. 判断一个数是否为质数")
print("6. 计算阶乘")
print("7. 计算斐波那契数列")
print("8. 打印前 n 个自然数")
# 用户输入
n = int(input("Enter a number between 1 and 100: "))
# 测试用户输入
if n < 1 or n > 100:
print("Invalid input!")
exit()
# 用户输入要求的自然数
print_numbers(n)
# 测试用户输入是否为合数
if is_composite(n):
print("%d is a composite number." % n)
else:
print("%d is not a composite number." % n)
# 测试用户输入是否为质数
if is_prime(n):
print("%d is a prime number." % n)
else:
print("%d is not a prime number." % n)
# 测试用户输入是否
import random
# 生成随机数
def generate_random_number():
return random.randint(1, 100)
# 求最大公约数
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
# 求最小公倍数
def lcm(a, b):
return (a * b) // gcd(a, b)
# 判断一个数是否为回文数
def is_palindrome(num):
return str(num) == str(num)[::-1]
# 判断一个数是否为素数
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
# 判断一个数是否为质数
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
# 判断一个数是否为合数
def is_composite(num):
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0 or num % (i * i) == 0:
return True
return False
# 计算阶乘
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
# 计算斐波那契数列
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
# 打印前 n 个自然数
def print_numbers(n):
for i in range(1, n+1):
print(i)
# 测试代码
print("Wel计算最大公约数")
print("2. 计算最小公倍数")
print("3. 判断一个数是否为回文数")
print("4. 判断一个数是否为素数")
print("5. 判断一个数是否为质数")
print("6. 计算阶乘")
print("7. 计算斐波那契数列")
print("8. 打印前 n 个自然数")
# 用户输入
n = int(input("Enter a number between 1 and 100: "))
# 测试用户输入
if n < 1 or n > 100:
print("Invalid input!")
exit()
# 用户输入要求的自然数
print_numbers(n)
# 测试用户输入是否为合数
if is_composite(n):
print("%d is a composite number." % n)
else:
print("%d is not a composite number." % n)
# 测试用户输入是否为质数
if is_prime(n):
print("%d is a prime number." % n)
else:
print("%d is not a prime number." % n)
# 测试用户输入是否
import random # 生成随机数 def generate_random_number(): return random.randint(1, 100) # 求最大公约数 def gcd(a, b): while b != 0: a, b = b, a % b return a # 求最小公倍数 def lcm(a, b): return (a * b) // gcd(a, b) # 判断一个数是否为回文数 def is_palindrome(num): return str(num) == str(num)[::-1] # 判断一个数是否为素数 def is_prime(num): if num < 2: return False for i in range(2, int(num ** 0.5) + 1): if num % i == 0: return False return True # 判断一个数是否为质数 def is_prime(num): if num < 2: return False for i in range(2, int(num ** 0.5) + 1): if num % i == 0: return False return True # 判断一个数是否为合数 def is_composite(num): if num < 2: return False for i in range(2, int(num ** 0.5) + 1): if num % i == 0 or num % (i * i) == 0: return True return False # 计算阶乘 def factorial(n): if n == 0: return 1 else: return n * factorial(n-1) # 计算斐波那契数列 def fibonacci(n): if n <= 1: return n else: return fibonacci(n-1) + fibonacci(n-2) # 打印前 n 个自然数 def print_numbers(n): for i in range(1, n+1): print(i) # 测试代码 print("Wel计算最大公约数") print("2. 计算最小公倍数") print("3. 判断一个数是否为回文数") print("4. 判断一个数是否为素数") print("5. 判断一个数是否为质数") print("6. 计算阶乘") print("7. 计算斐波那契数列") print("8. 打印前 n 个自然数") # 用户输入 n = int(input("Enter a number between 1 and 100: ")) # 测试用户输入 if n < 1 or n > 100: print("Invalid input!") exit() # 用户输入要求的自然数 print_numbers(n) # 测试用户输入是否为合数 if is_composite(n): print("%d is a composite number." % n) else: print("%d is not a composite number." % n) # 测试用户输入是否为质数 if is_prime(n): print("%d is a prime number." % n) else: print("%d is not a prime number." % n) # 测试用户输入是否
发表评论