用Python编写程序 【问题描述】 给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。 【输入形式】 输入的第一行包含一个整数n,表示给定整数的个数。 第二行包含所给定的n个整数。 【输出形式】 输出一个整数,表示值正好相差1的数对的个数。小数在前,大数在后,如有多组输出顺序按照第一个数字递增排序,重复数字只显示一组。 【样例输入】 6 10 2 6 3 7 8 【样例输出】 3 2 3 6 7 7 8
时间: 2023-05-21 16:04:03 浏览: 108
可以使用以下代码解决这个问题:
n = int(input())
nums = list(map(int, input().split()))
nums.sort() # 将输入的整数排序
count = 0 # 记录相差1的数对的个数
result = [] # 记录相差1的数对
for i in range(n-1):
if nums[i+1] - nums[i] == 1:
count += 1
result.append((nums[i], nums[i+1]))
print(count)
for pair in result:
print(pair[0], pair[1])
相关问题
用python写一个程序:给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1
以下是用 Python 编写的程序,可以计算给定 n 个不同整数中,有多少对整数的值正好相差 1:
```python
def count_pairs(nums):
nums_set = set(nums)
count = 0
for num in nums:
if num + 1 in nums_set:
count += 1
return count
n = int(input("请输入整数的个数:"))
nums = []
for i in range(n):
num = int(input("请输入第 %d 个整数:" % (i+1)))
nums.append(num)
pairs_count = count_pairs(nums)
print("这些数中有 %d 对整数,它们的值正好相差 1。" % pairs_count)
```
你可以将以上代码复制到 Python 解释器中运行,输入 n 个整数,程序会输出这些数中有多少对整数,它们的值正好相差 1。
注意:以上代码只能计算相差为 1 的整数对数,如果要计算其它差值的整数对数,需要稍作修改。
问题描述 给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。 输入格式 输入的第一行包含一个整数n,表示给定整数的个数。第二行包含所给定的n个整数。 输出格式 输出一个整数,表示值正好相差1的数对的个数。小数在前,大数在后,如有多组输出顺序按照第一个数字递增排序,重复数字只显示一组 用Python编写
示例代码如下:
n = int(input())
nums = list(map(int, input().split()))
nums.sort()
count = 0
for i in range(n-1):
if nums[i+1] - nums[i] == 1:
count += 1
print(count)
阅读全文