输入的第一行是1个正整数n,表示共有n个整数。其中n不超过500。 第二行包含n个用空格隔开的正整数,表示n个有序的整数。输入保证这n个整数是从小到大递增的。 第三行是一个正整数k,代表要查询的关键字。 Output 包括两行。 第1行,输出查找过程中,依次和查找表中比较的元素(无论查找成功与否,均输出)。 第2行,输出查找结果,如果在查询中找到了对应的整数,则输出其第一次出现的位置,否则输出0。的代码
时间: 2024-03-12 07:43:48 浏览: 65
以下是基于Python的代码实现:
```
n = int(input())
nums = list(map(int, input().split()))
k = int(input())
# 初始化变量
low, high = 0, n - 1
pos = 0
found = False
# 二分查找算法
while low <= high:
mid = (low + high) // 2
pos += 1
if nums[mid] == k:
found = True
break
elif nums[mid] < k:
low = mid + 1
else:
high = mid - 1
# 输出查找过程
for i in range(pos):
print(nums[i], end=" ")
print()
# 输出查找结果
if found:
print(mid + 1)
else:
print(0)
```
代码思路:
1. 首先读入整数n以及有序整数序列nums和要查询的关键字k。
2. 接着使用二分查找算法,初始化low、high、pos和found变量,分别代表有序序列的最小下标、最大下标、查找过程中比较的元素数和是否找到关键字。
3. 在循环中,根据查找范围的中点与关键字的比较,更新low、high、pos和found变量。
4. 循环结束后,输出查找过程中比较的元素,以及查找结果。
相关问题
输入2行,第1行为一个正整数n,第2行包含n个正整数,输出正整数n的平均值
以下是Python代码:
```
n = int(input())
nums = input().split()
nums = [int(x) for x in nums]
average = sum(nums) / n
print(average)
```
解释:
首先,我们用 `input()` 函数读入字符串形式的第一行输入,然后用 `int()` 函数将其转换为整数类型 `n`。
接下来,我们用 `input()` 函数读入字符串形式的第二行输入,并用 `split()` 函数将其按空格分割成多个字符串,存放在列表 `nums` 中。
然后,我们用列表解析式将列表 `nums` 中的每个字符串转换为整数类型。
然后,我们使用 `sum()` 函数将列表 `nums` 中所有元素的和求出来,然后除以 `n` 得到平均值 `average`。
最后,我们使用 `print()` 函数输出平均值 `average`。
C++输入2行,第1行为一个正整数n,第2行包含n个正整数,输出正整数n的平均值无小数
解法一:
可以先将所有输入的正整数累加起来,然后除以输入的正整数个数,再将结果取整即可。
示例代码:
#include <stdio.h>
int main() {
int n, sum = 0, i;
scanf("%d", &n);
for (i = 0; i < n; i++) {
int x;
scanf("%d", &x);
sum += x;
}
int avg = sum / n;
printf("%d", avg);
return 0;
}
解法二:
可以利用整数除法的特性,将正整数累加后再整除输入的正整数个数,这样就可以得到平均值的整数部分。
示例代码:
#include <stdio.h>
int main() {
int n, sum = 0, i;
scanf("%d", &n);
for (i = 0; i < n; i++) {
int x;
scanf("%d", &x);
sum += x;
}
int avg = sum / n;
printf("%d", avg);
return 0;
}
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)