Trang chủ Lớp 11 Tin học Giải SBT Tin học 11 Cánh diều Bài 4. Làm mịn dần từng bước từ thuật toán đến chương trình máy tính

Giải SBT Tin học 11 Cánh diều Bài 4. Làm mịn dần từng bước từ thuật toán đến chương trình máy tính

Giải SBT Tin học 11 Cánh diều Bài 4. Làm mịn dần từng bước từ thuật toán đến chương trình máy tính

  • 56 lượt thi

  • 9 câu hỏi

  • 0 phút

Danh sách câu hỏi

Câu 2:

20/07/2024

Hãy dự đoán chức năng của đoạn mà giả sau, với giá trị n được cho ở đầu vào

result ←0

for i in (il sis vn):

if mii:

result result + 1

if ix in:

result result + 1

return result

Xem đáp án

Đoạn mã giả sẽ trả về số lượng ước dương của n. Với nhận xét tương tự như bài toán kiểm tra tính nguyên tố trong sách giáo khoa, ta chỉ cần duyệt đến sqrt(n) để thống kê tất cả các cặp ước số. Ngoài ra, em phải xét riêng trường hợp số chính phương n = i x i


Câu 3:

18/07/2024

Cô giáo có một tấm bìa hình chữ nhật có các kích thước là x (cm) và v (cm), (v, y là số nguyên dương). Cô giáo muốn cắt tấm bia này thành những hình vuông bằng nhau có độ dài cạnh là số nguyên (đơn vị cm) sao cho tấm bìa được cắt hết không còn thừa mảnh nào.

Yêu cầu: Cô giáo cho trước tấm bìa, em hãy xác định số hình vuông ít nhất có thể cắt được.

Dữ liệu: Nhập từ thiết bị vào chuẩn, gồm hai dòng:

• Dòng thứ nhất chứa số nguyên dương (x<10).

• Dòng thứ hai chứa số nguyên dương y (<10).

Kết quả: Hiển thị ở thiết bị ra chuẩn số lượng hình vuông theo yêu cầu.

Vi du:

Input

15

Output

Cô giáo có một tấm bìa hình chữ nhật có các kích thước là x (cm) và v (cm), (v, y là số nguyên dương). (ảnh 1)
Xem đáp án

Để cắt hết tấm bìa mà không còn thừa mảnh nào thì kích thước cạnh d của hình vuông được cắt ra là ước số của x và y (x : d và y : d).

- Số lượng hình vuông ít nhất thì d phải lớn nhất, tức là: d = ƯCLN (x, y).

- Vậy kết quả của bài toán là: Cô giáo có một tấm bìa hình chữ nhật có các kích thước là x (cm) và v (cm), (v, y là số nguyên dương). (ảnh 2)

Đầu vào: Hai số nguyên x, y.

Đầu ra: Số lượng hình vuông thoả mãn.

Thuật toán thô: Tìm giá trị max{d | x : d; y : d).

– Lặp khi min(x,y)>d>1:

Nếu phát hiện x chia hết cho d và y chia hết cho d thì kết quả bài toán là: Cô giáo có một tấm bìa hình chữ nhật có các kích thước là x (cm) và v (cm), (v, y là số nguyên dương). (ảnh 1)

Cô giáo có một tấm bìa hình chữ nhật có các kích thước là x (cm) và v (cm), (v, y là số nguyên dương). (ảnh 2)

Cải tiến:

Nhận xét: Giá trị của d chính là ước số chung lớn nhất của x và y, có thể dùng hàm có sẵn tìm ước chung lớn nhất để chương trình chạy nhanh hơn.

Cô giáo có một tấm bìa hình chữ nhật có các kích thước là x (cm) và v (cm), (v, y là số nguyên dương). (ảnh 3)

Câu 4:

13/07/2024

Độ đẹp của số nguyên

• Sau khi nghe câu chuyện “Bàn cờ và hạt thóc” (nói về luỹ thừa của 2), Bình cảm thấy toán học thật thú vị nên cũng muốn thử làm nên một “sự tích” như vậy. Cậu lấy y hạt gạo ra và thử xếp chúng thành một hình chữ nhật trên bàn cờ vua, tức là mỗi ô chỉ chứa một hạt gạo và các ô có gạo tạo thành một hình chữ nhật. Bình định nghĩa độ đẹp của số x là số cách khác nhau để xếp c hạt gạo lên bàn cờ vua. Ví dụ, với x = 6 thì độ đẹp là 4 do ta có bốn cách tương ứng với các hình chữ nhật có kích thước là 1 × 6; 2 × 3; 3 × 2; 6 × 1. Tổng quát hơn, có thể coi độ đẹp là một hàm theo x, kí hiệu f(x). Ở đây, ta giả sử bàn cờ luôn đủ lớn (chứ không gói gọn trong kích thước 8 × 8). Ví dụ, với x 11 thì vẫn có thể xếp theo hai cách là 1 × 11 hoặc 11 × 1.

Bình thác mặc tăng trong n số nguyên dương đầu tiên thì số có độ đẹp lớn nhất là số như Em hãy viết chương trình giúp Bình giải đáp thắc mắc này Dù lựu. Nhập từ thiết bị vào chuẩn một số nguyên dương a.

Acqua Diana thiết bị chuẩn độ đẹp lớn nhất của n số nguyên dương đầu tiên.

Độ đẹp của số nguyên • Sau khi nghe câu chuyện “Bàn cờ và hạt thóc” (nói về luỹ thừa của 2), Bình cảm thấy toán học thật thú vị nên cũng muốn thử làm nên một “sự tích” như vậy (ảnh 1)

Giải thích. Từ 1 đến 17 có số 12 là đẹp nhất. Số 1 kích thước khác nhau là 1× 12, 2014 4 6:3 4:4 × đẹp lớn nhất từ 1 đến 17 là 6.

có ở hình chữ nhật có 3,0 x2 × L. Vậy độ 3; 6 2:12

Xem đáp án

f(x) = số lượng ước số của x.

Thuật toán thô

– Tạo hàm ((-x), đếm số lượng ước số của x.

Lặp khi 1 <<n. Nếu f(x) > f(x,) thì gán x = x (x là kết quả bài toán, ban đầu x − 1).

Độ đẹp của số nguyên • Sau khi nghe câu chuyện “Bàn cờ và hạt thóc” (nói về luỹ thừa của 2), Bình cảm thấy toán học thật thú vị nên cũng muốn thử làm nên một “sự tích” như vậy (ảnh 2)

Cải tiến:

Nhận xét: x chia hết cho i nghĩa là x = i × j, x có hai ước là i và j. Giả sử i<j thì i < sqrt(x) . Em chỉ cần kiểm tra với i không lớn hơn căn bậc hai của x, giảm được số lần lặp. Chú ý đến trường hợp x là số chính phương thì x=ixinên x chỉ có một ước.

Cải tiến hàm f(x) như sau:

Mã giả

Độ đẹp của số nguyên • Sau khi nghe câu chuyện “Bàn cờ và hạt thóc” (nói về luỹ thừa của 2), Bình cảm thấy toán học thật thú vị nên cũng muốn thử làm nên một “sự tích” như vậy (ảnh 3)

Câu 5:

01/07/2024

Những phát biểu nào dưới đây là SAI?

Những phát biểu nào dưới đây là SAI? (ảnh 1)
Xem đáp án

Phát biểu 2 và 3 sai. Khi n đủ lớn, 2" sẽ lớn hơn n rất nhiều và tương tự, n’ sẽ lớn hơn n và n.log,n rất nhiều.


Câu 7:

22/07/2024

Xét bài toán: Cho danh sách các số nguyên 4-4, a,,..., a ) khác nhau từng đôi một. Xác định phần tử có giá trị lớn thứ hai trong danh sách A. Em hãy xây dựng thuật toán để giải quyết bài toán trên với độ phức tạp:

1) O(nlogn).

2) O(n).

Xem đáp án

1) Sắp xếp lại danh sách theo thứ tự giảm dần bằng phương pháp sắp xếp nhanh (hàm Sorted ( ) có độ phức tạp O(n.log,n )) rồi in ra phần tử ở vị trí thứ hai.

2) Khởi tạo hai biến max1 = 0 và max2 = 0 tượng trưng cho giá trị lớn thứ 0 nhất và lớn thứ hai trong danh sách A, ta tiến hành duyệt và xét lần lượt từng phần tử v của A:

Nếu max1 < v, ta cập nhật max2 = max1 và max1 = v.

Ngược lại, ta có thể suy ra max1>v(max1 không thể bằng v vì các phần tử trong danh sách A khác nhau từng đôi một). Ta so sánh max2 và v. Nếu max2 < v thì ta cập nhật max2 = v.


Câu 8:

12/07/2024

Xác định độ phức tạp của đoạn chương trình sau, với giá trị N>0 được cho ở dữ liệu đầu vào:

Xác định độ phức tạp của đoạn chương trình sau, với giá trị N>0 được cho ở dữ liệu đầu vào: (ảnh 1)
Xem đáp án

Vì giá trị của i bị giảm đi một nửa sau mỗi bước và vòng lặp sẽ dừng khi i = 0, nên độ phức tạp của chương trình là O(log,N).


Câu 9:

22/07/2024

Xác định độ phức tạp của đoạn chương trình sau, với giá trị n > 0 được cho ở dữ liệu đầu vào:

Xác định độ phức tạp của đoạn chương trình sau, với giá trị n > 0 được cho ở dữ liệu đầu vào: (ảnh 1)
Xem đáp án

Sau khi kết thúc lượt chạy i = 0, giá trị j sẽ tăng lên bằng n. Ở các lượt chạy sau đó của i thì vòng lặp while bên trong sẽ không được thực thi, nên độ phức tạp của cả chương trình chỉ là O(n).


Bắt đầu thi ngay