三道编程题

Task1:Given an positive integer N, return the list of prime numbers.

# Task1:Given an positive integer N, return the list of prime numbers

# N = int(input())
# # determine whether a number is a prime number
# def isPrime(n):
#     if n == 1 or n == 0:
#         return
#     else:
#         for j in range(2, n):
#             if n % j == 0:
#                 break
#         else:
#             return n
# x = []
# for i in range(N):
#     if isPrime(i):
#         x.append(i)
# print(x)

Task2:Given two positive integers a and b, return the list of prime numbers x which is a <= x < b.

# get your input numbers here
N_list = [int(i) for i in input().split(",")]
a = N_list[0]
b = N_list[1]


# determine whether a number is a prime number
def isPrime(n):
    if n == 1 or n == 0:
        return
    for i in range(2, n):
        if n % i == 0:
            break
    else:
        return n
x = []
for j in range(a,b):
    if isPrime(j):
        x.append(j)
print(x)

Task3:Given an positive integer N, return the prime number(s) that is most near to it, could be larger or smaller.

def isPrime(n):
    if n == 0:
        return False
    if n == 1:
        return True
    for i in range(2, n):
        if n % i == 0:
            return False
    return True


def find_prime(num):
    if num == 0:
        return 2
    if num == 1:
        return 2
    if isPrime(num):
        return num
    else:
        for i in range(1, num):
            if isPrime(num - i) and isPrime(num + i):
                return [num - i, num + i]
            if isPrime(num - i):
                return num - i
            if isPrime(num + i):
                return num + i


print(find_prime(N))
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值