用while写二分查找
时间: 2023-07-24 10:57:40 浏览: 71
可以使用以下代码来用Python的while循环写99乘法表:
```
i = 1
while i <= 9:
j = 1
while j <= i:
print(j, "*", i, "=", i*j, end="\t")
j += 1
print()
i += 1
```
输出结果如下:
```
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
```
相关问题
用python写二分查找
以下是用Python实现二分查找的示例代码:
```python
def binary_search(arr, target):
low = 0
high = len(arr) - 1
while low <= high:
mid = (low + high) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
low = mid + 1
else:
high = mid - 1
return -1
```
该函数接收一个有序数组和要查找的目标值。它使用两个指针 `low` 和 `high` 来确定数组的子范围,并在每次迭代中将它们更新以逐渐缩小搜索范围。在每次迭代中,该函数将中间指针 `mid` 设置为数组的中间位置,并将目标值与该位置的值进行比较。如果它们相等,则返回该位置。如果目标小于中间值,则缩小搜索范围到数组的左半边。如果目标大于中间值,则缩小搜索范围到数组的右半边。如果未找到目标,则返回 -1。
Java写二分查找
以下是Java实现二分查找的代码:
```java
public static int binarySearch(int[] arr, int target) {
int left = 0;
int right = arr.length - 1;
while (left <= right) {
int mid = (left + right) / 2;
if (arr[mid] == target) {
return mid;
} else if (arr[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1;
}
```
该方法接收一个已排序的整数数组和一个目标值,返回目标值在数组中的索引(如果存在),否则返回-1。
二分查找的核心思想是通过比较目标值和数组中间元素的大小关系,缩小搜索范围。具体地,每次将搜索范围缩小一半,直到找到目标值或搜索范围为空。
阅读全文