用Python写一个程序,输入的第一行包含一个整数n,表示给定的整数个数。第二行输入n个整数,每个数字以空格隔开。输出形式为:第一行输出一个整数,表示值正好相差1的数对的个数。然后小的数字在前,大的数字在后,以空格隔开。如果有多组输出顺序按照第一个数字递增排序,重复的数字只显示一组,每一组占一行。
时间: 2024-02-23 15:59:05 浏览: 119
delete--number.rar_K._delete namber_delete number_给定n位正整数
5星 · 资源好评率100%
好的,这是一个简单的数对查找问题,可以用 Python 来解决。下面是我给你的代码:
```python
n = int(input())
nums = list(map(int, input().split()))
nums.sort() # 先将输入的数字进行排序
ans = []
count = 0
for i in range(n-1):
if nums[i+1] - nums[i] == 1: # 如果相邻的两个数字之差为 1
count += 1
ans.append((nums[i], nums[i+1])) # 将这一对数字添加到答案里面
print(count)
for a in ans:
print(a[0], a[1])
```
这个程序首先读入一个整数 `n`,然后读入 `n` 个整数,存储在 `nums` 这个列表中。然后将 `nums` 列表进行排序。
接下来,我们用一个循环来遍历 `nums` 列表中的每一个数字。如果相邻的两个数字之差为 1,那么我们就将这一对数字添加到 `ans` 列表中,并且将 `count` 值加 1。
最后,我们输出 `count` 的值,表示一共有多少对数字之差为 1,然后输出 `ans` 列表中的所有数对,每一对数对占一行。
希望我的程序能够帮到你,如果你有任何问题,请随时问我。
阅读全文