利用Python编写程序:现有n个正整数,0 < n ≤ 1000,要求出这n个正整数中的第k个最小整数(相同大小的整数只计算一次),0 < k ≤ 100,正整数均不大于30000。 输入 第一行为n和k; 第二行开始为n个正整数的值,整数间用空格隔开。 输出 第k个最小整数的值;若无解,则输出“NO RESULT”。
时间: 2023-05-11 20:04:21 浏览: 83
以下是利用Python编写的程序,可以解决这个问题:
```python
n, k = map(int, input().split())
nums = list(set(map(int, input().split())))
nums.sort()
if k > len(nums):
print("NO RESULT")
else:
print(nums[k-1])
```
这个程序首先读取输入的n和k,然后读取n个正整数并去重排序。如果k超过了去重后的正整数个数,则输出"NO RESULT";否则输出第k个最小整数的值。
相关问题
python编写从键盘任意输入一个正整数 n, 并找出大于n 的最小素数。
在Python中,你可以通过以下步骤编写一个简单的程序来实现这个功能:
首先,你需要创建一个函数来判断一个数字是否为素数。素数是指只有1和它本身两个正因数的自然数。然后,你可以让用户输入一个正整数`n`,循环寻找比`n`大的第一个素数。
```python
def is_prime(num):
if num <= 1:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
def find_next_prime(n):
num = n + 1
while not is_prime(num):
num += 1
return num
# 获取用户输入
n = int(input("请输入一个正整数:"))
# 找出大于n的最小素数
next_prime = find_next_prime(n)
print(f"大于 {n} 的最小素数是:{next_prime}")
:编写程序:输人两个正整数m和n,求其最大公约数和最小公倍数
以下是Python编写求最大公约数和最小公倍数的程序:
```python
# 定义函数,求最大公约数
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
# 定义函数,求最小公倍数
def lcm(a, b):
return a * b // gcd(a, b)
# 输入两个正整数
m, n = map(int, input("请输入两个正整数,并用逗号连接:").split(","))
# 输出最大公约数和最小公倍数
print(str(m) + "和" + str(n) + "的最大公约数是:" + str(gcd(m, n)))
print(str(m) + "和" + str(n) + "的最小公倍数是:" + str(lcm(m, n)))
```
阅读全文