小码农

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

简单的Python OJ系统

avatar 2023-04-23 12:01 701次浏览 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)  
  
# 测试用户输入是否

 

发表评论