小码农

趣味编程-面向每个人的创意编程

简单的Python OJ系统

avatar 2023-04-23 12:01 697次浏览 0 条评论 Python

以下是一个简单的 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)  
  
# 测试用户输入是否

 

发表评论