Hướng dẫn giải của [LOOP_HNCODE_17] Nhân đôi số
Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người viết lời giải.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.
Hướng dẫn giải
Cho số nguyên dương n ~1 \le n < 1000~, hãy đếm xem cần nhân đôi n bao nhiêu lần thì n lớn hơn 1000.
Cách làm
Dùng vòng while: khi n vẫn còn nhỏ hơn hoặc bằng 1000 thì nhân đôi n và tăng biến đếm dem lên 1. Khi n vượt quá 1000 thì dừng và in dem.
Ví dụ: n = 500 → 1000 → 2000, cần 2 lần.
#include <bits/stdc++.h>
using namespace std;
int main() {
long long n;
cin >> n;
// Nhân đôi n cho đến khi n > 1000, đếm số lần nhân đôi
int dem = 0;
while (n <= 1000) {
n = n * 2;
dem++;
}
cout << dem << "\n";
return 0;
}
Bình luận