Tìm k sao cho cho 2^k>=n Trong O(1) nha. Nhanh nhé. Tức là dùng công thức.

2 câu trả lời

  1. #include <iostream>
  2. #include <math.h>
  3. int main()
  4. {
  5.     int k=0;
  6.     int n;
  7.     cout<<"Nhap n:";
  8.     cin>>n;
  9.     while (pow(2,k) <n) k++;
  10.     cout<<k-1<<endl;
  11.     return 0;dùng vòng lặp với điểm bắt đầu là 1
    kiểm tra xem 2^k có lớn hơn n không
    nếu không thì tiếp tục
    ngược lại thì dừng
  1. #include <iostream>
  2. #include <math.h>
  3. int main()
  4. {
  5.     int k=0;
  6.     int n;
  7.     cout<<"Nhap n:";
  8.     cin>>n;
  9.     while (pow(2,k) <n) k++;
  10.     cout<<k-1<<endl;
  11.     return 0;dùng vòng lặp với điểm bắt đầu là 1
Câu hỏi trong lớp Xem thêm