BIẾN ĐỔI SỐ

Nguồn: Đề thi HSG THCS tỉnh Hoà Bình – năm 2021

Cho biết hai số nguyên dương \(a\)\(b\). Bạn được phép thực hiện hai loại phép toán sau đây:

1) Thay \(a\) bằng \(a\ DIV\ b\) (tức là thay \(a\) bằng phần nguyên của kết quả phép chia \(a\) cho \(b\))

2) Tăng \(b\) lên 1 đơn vị.

Cần thực hiện tối thiểu bao nhiêu phép toán thuộc hai loại nói trên để biến đổi \(a = 0\).

Dữ liệu vào:

Dòng đầu chứa số nguyên \(t\) \((0 < t \leq 100)\) là số bộ dữ liệu kiểm tra. Tiếp theo là \(t\) bộ dữ liệu, mỗi bộ dữ liệu gồm một dòng chứa lần lượt hai số nguyên \(a,\ b\) cách nhau một khoảng trắng mô tả hai giá trị ban đầu của \(a\)\(b\).

Kết quả:

Tương ứng với mỗi bộ dữ liệu vào, chương trình của bạn cần in ra một dòng chứa một số nguyên duy nhất là số phép toán tối thiểu cần thực hiện để \(a = 0\). Trật tự in kết quả tương ứng với trật tự dữ liệu vào.

Ràng buộc:

+ Có 50% số test ứng với 50% số điểm của bài với \(0 \leq a \leq 10^{3},\ 0 < b \leq 10^{3}\);

+ Có 50% số test ứng với 50% số điểm của bài với \(0 \leq a \leq 10^{14},\ 0 < b \leq 10^{14}\).

Ví dụ:

Input Output
4
9 2
1337 1
1 1
50000000 4
4
9
2
12

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. npk1605 (5/10)
  2. tuythoi213 (4/6)
  3. bao_khanh (2/3)
Trong 7 ngày
  1. nguyenanhvu (40/64)
  2. khieuquan (35/59)
  3. ngokhang (27/55)
Trong 30 ngày
  1. quechi (85/105)
  2. dangphong3108 (79/125)
  3. kiennhientv (79/179)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38905

Lưu Hải Phong - 2020
[email protected]