Cho dãy các số A = [3, 1, 0, 10, 13, 16, 9, 7, 5, 11].
a) Viết chương trình mô tả thuật toán tìm kiếm phần tử C = 9 của dãy trên. Tính thời gian chính xác thực hiện công việc tìm kiếm này.
b) Giả sử dây A ở trên đã được sắp xếp theo thứ tự tăng dần: A= [0,1,3,5,7,9,10,11,13, 16]. Viết chương trình tìm kiếm nhị phân để tìm kiếm phân tử C = 9, đo thời gian thực hiện thuật toán. So sánh với kết quả 1ìm kiếm ở câu a.
a)
import time
def linear_search(arr, x):
"""
Tìm kiếm tuyến tính trong dãy arr để tìm giá trị x.
Trả về vị trí của x trong dãy nếu x được tìm thấy, -1 nếu không tìm thấy.
"""
n = len(arr)
for i in range(n):
if arr[i] == x:
return i
return -1
# Dãy số A
A = [3, 1, 0, 10, 13, 16, 9, 7, 5, 11]
# Phần tử cần tìm kiếm
C = 9
# Bắt đầu đo thời gian
start_time = time.perf_counter()
# Tìm kiếm phần tử C trong dãy A
result = linear_search(A, C)
# Kết thúc đo thời gian
end_time = time.perf_counter()
if result != -1:
print(f"Phần tử {C} được tìm thấy tại vị trí {result} trong dãy A.")
else:
print(f"Phần tử {C} không có trong dãy A.")
print(f"Thời gian thực hiện thuật toán: {end_time - start_time} giây.")
b)
import time
def binary_search(arr, x):
"""
Tìm kiếm nhị phân trong dãy arr để tìm giá trị x.
Trả về vị trí của x trong dãy nếu x được tìm thấy, -1 nếu không tìm thấy.
"""
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == x:
return mid
elif arr[mid] < x:
left = mid + 1
else:
right = mid - 1
return -1
# Dãy số A đã được sắp xếp
A = [0, 1, 3, 5, 7, 9, 10, 11, 13, 16]
# Phần tử cần tìm kiếm
C = 9
# Bắt đầu đo thời gian
start_time = time.perf_counter()
# Tìm kiếm phần tử C trong dãy A bằng thuật toán tìm kiếm nhị phân
result = binary_search(A, C)
# Kết thúc đo thời gian
end_time = time.perf_counter()
if result != -1:
print(f"Phần tử {C} được tìm thấy tại vị trí {result} trong dãy A.")
else:
print(f"Phần tử {C} không có trong dãy A.")
print(f"Thời gian thực hiện thuật toán: {end_time - start_time} giây.")
-Thời gian thực hiện ở câu a là 8.99999,thời gian thực hiện ở câu b là 6,49999 giây.
Cho 1 dãy số 1, 4, 7, 10, 13, 16, 19, 22, 25
a. Có nhận xét gì về các số hạng của dãy số trên. (1 đ)
b. Hãy điền các số ấy vào bảng 9 ô vuông bên dưới sao cho tổng các số ở các hàng ngang, các cột dọc và các đường chéo đều bằng nhau.Một số dùng một lần. Sắp vào ô vuông 3x3
Cho dãy số:
10 ; 13 ; 16 ; 19 ; 22 ; …
Số 157 là số thứ bao nhiêu của dãy số trên?
Dãy số trên là dãy số cách đều 2 đơn vị
Số số hạng của dãy số trên là :
( 1017 - 1 ) : 2 + 1 = 509 ( số số hạng )
Từ 1 - 9 có tất cả : ( 9 - 1 ) : 1 + 1 = 9 ( chữ số )
Từ 10 - 99 có tất cả : ( 99 - 10 ) : 1 + 1 = 90 ( số )
Và 90 x 2 = 180 chữ số Từ 100 - 999 có tất cả : ( 999 - 100 ) : 1 + 1 = 900 số
Và 900 x 3 = 2700 ( chữ số ) Từ 1000 - 1017 có tất cả : ( 1017 - 100 ) : 1 + 1 = 18 ( số )
Và 18 x 4 = 72 ( chữ số )
Vậy từ 1 ; 3 ; 5 ; 7 ; ........ ; 1017 cần tất cả :
9 + 180 + 2700 + 72 = 2961 ( chữ số )
Đáp số : 2961 chữ số
Số thứ 157 là :
(157-1) x 3 + 10 =478
Đáp số : 478
số thứ 157 là 478
công thức tính số cuối
(SSH - 1 ) x khoảng cách + số đầu
Tính nhanh
a) 23 - 21 + 19 - 17 + 15 - 13 + 11 - 9 + 7 - 5 + 3 - 1;
b) 24 - 22 + 20 - 18 + 16 - 14 + 12 - 10 + 8 - 6 + 4 - 2
a. ( 23 - 21) + ( 19 - 17) + ( 15 - 13) + ( 11 - 9) + ( 7 - 5) + ( 3 - 1)
= 2 + 2 + 2 + 2 + 2 + 2
= 2 x 6
= 12
b. ( 24 - 22 ) + ( 20 - 18 ) + ( 16 - 14 ) + ( 12 - 10) + ( 8 - 6 ) + ( 4 - 2)
= 2 + 2 + 2 + 2 + 2 + 2
= 2 x 6
= 12
a) Sắp xếp các phân số 5/12; 7/18; -8/21; -5/14 thành một dãy số tăng dần.
b) Sắp xếp các phân số 7/41; 14/105; 49/280; 21/126 thành một dãy giảm dần
Cho dãy số sau: 13; 16; 19; 22; … a) Nêu quy luật của dãy số trên. b) Tìm số hạng thứ 237 của dãy số. c) Số 2987 có thuộc dãy số trên hay không? Nếu có, nó là số hạng thứ bao nhiêu? d) Số 373 có thuộc dãy số trên hay không? Nếu có, nó là số hạng thứ bao nhiêu?
a) Quy luật : Số sau hơn số trước 3 đơn vị
b) GỌi số hạng thứ 237 là a
Ta có : ( a - 13 ) : 3 + 1 = 237
=> ( a - 13 ) : 3 = 236
=> a - 13 = 708
=> a = 721
c) Giả sử 2987 thuộc nhóm trên
=> ( 2987 - 13 ) : 3 + 1 là 1 số tự nhiên
=> 2974 : 3 + 1 là 1 số tự nhiên
Mà 2974 không chi hết cho 3 => 2974 : 3+ 1 không là số tự nhiên
=> 2987 không thuộc nhóm trên
d) Giả sử số 373 thuộc nhóm trên
=> ( 373 - 13 ) : 3 + 1 là 1 số tự nhiên
=> 360 : 3 + 1 là 1 số tự nhiên
=> 120 + 1 là 1 số tự nhiên
=> 121 là 1 số tự nhiên ( thỏa mãn )
Vậy số 373 thuộc nhóm trên và là số hạng thứ 121
Tính Tổng Sau bằng cách hợp lí nhất
a, A=11+12+13+14+15+16+17+18+19+20
b, B=11+13+15+17+19+21+23+25
c, C=12+14+16+18+20+22+24+26
a) Số số hang là : ( 20 - 11 ) : 1 + 1 = 10 ( số )
Tổng là : ( 20 + 11 ) x 10 : 2 = 155
b) Số số hạng là : ( 25 - 11 ) : 2 + 1 = 13 ( số )
Tổng là : ( 25 + 11 ) x 13 : 2 = 234
c) Số số hạng là : ( 26 - 12 ) : 2 + 1 = 13 ( số )
Tổng là : ( 26 + 12 ) x 13 : 2 = 247
*** câu b và c là 2 dãy số cách nhau 2 đv
a) Số số hạng là: (20-11)+1=10(số hạng)
= 10: 2=5 (cặp)
A = (20+11).5 = 155
b) Số số hạng là: (25-11):2+1=8(số hạng)
= 8: 2 = 4 (cặp)
B= (25+11).4=144
c) Số số hạng là: (26-12):2+1 = 8 (số hạng)
= 8 : 2 = 4 (cặp)
C = (26+12).4 = 152
a, A =(20+11) x10:2=155 (ssh = 10)
b, B =(25+ 11) x8 :2 = 144 (ssh =8)
c, C = (26 + 12 ) x8 :2 =152 (ssh = 8)
1 × 2 + 2 × 3 +3 × 4 + 4 × 5 + 5 × 6 + 6 × 7 + 7 × 8 + 8 × 9 + 9 × 10 + 10 × 11 +11 ×12 + 12 ×13 + 13×14 + 14×15 + 15×16 + 16×17 +17×18 + 18×19 + 19×20 + 20×21 + 21×22 + 22×23 + 23×24 + 24×25 + 25×26
Minh bao cao roi /!\
nhìn mà chóng mặt
Cho 1 dãy số 1, 4, 7, 10, 13, 16, 19, 22, 25
a. Có nhận xét gì về các số hạng của dãy số trên. (1 đ)
b. Hãy điền các số ấy vào bảng 9 ô vuông bên dưới sao cho tổng các số ở các hàng ngang, các cột dọc và các đường chéo đều bằng nhau.