Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Trang 1 của 2 12 CuốiCuối
Kết quả 1 đến 10 của 17
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Viết hàm trả về số nguyên của biểu thức a mũ n bằng bit

    Em đang tìm hiểu về bit, nhưng em chưa hiểu thật sâu về nó, và chưa làm đc bài tập về bit
    mọi người giúp em gợi ý hướng giải 1 cách dễ hiểu nhất nhé.
    Viết hàm :
    Vào: số nguyên x
    Ra: 2 số nguyên a, n

    sao cho x = a ^ n với (a là số nguyên tố)
    ----------------------------------
    nhập vào 8 trả về 3. ( 8 = 2 mũ 3)
    nhập vào 16 trả về 4 ( 16 = 2 mũ 4 )
    nhập vào 27 trả về 3 ( 27 = 3 mũ 3)

    ----------------------------------
    làm bằng giải thuật bit nhé các bác T_T.

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Không hiểu đề.

    Tức nhập vào bàn phím 2 số a,x (a là cơ số, x là 1 số nguyên). Tìm n để x=a^n

    Nếu thế thì đây là 1 phép lôgarít.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    ý bạn là nhập từ bàn phím và in ra số mũ của nó hả ?

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi vipbk09
    thế nhập vào 16 thì trả về gì vậy bạn?
    nếu nhập vào 16 thì nó không phải số chính phương thì trả về -1, bỏ qua hàm số chính phương nhé( nếu ai rảnh thì viết luôn hàm đó bằng xử lý bit thì càng hay) mình đang cố gắng áp dụng nhiều bài toán về bit, nhưng bài này là bài đầu tiên cũng chưa làm đc, mong mọi người giúp đỡ mình.

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi yokashi
    ý bạn là nhập từ bàn phím và in ra số mũ của nó hả ?
    đúng rùi, nhưng phải dùng thuật toán xử lý bit, không phải hàm xử lý thông thường bạn ạ.

  6. #6
    Ngày tham gia
    Sep 2015
    Đang ở
    Hà Nội
    Bài viết
    0
    Vậy là nhập x, tính n sao cho x = 2 ^ n? Nếu nhập a nữa thì phải là nhập 2 số. bạn bảo chĩ nhập 1, chẳng lẻ lại phải dùng for cho biến a?

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi smartboybg
    nếu nhập vào 16 thì nó không phải số chính phương thì trả về -1
    16 = 4 * 4 sao không phải số chính phương.
    Đừng có chém em, em hơi chậm tiêu cái đề bài này. Híc híc!

    Giả như 16 = 2 * 2 * 2 * 2 (trả về 4) hay là 16 = 4 * 4 (trả về 2) hay dư lào?????

    Theo như em hiểu ý bạn thì 8 ko phải là số chính phương -> return -1 [IMG]images/smilies/11.gif[/IMG]

    Tóm lại: bạn nói rõ ràng cái đề ra, nếu ko được thì bạn chụp ảnh post đề lên, 2 là cho cái đường link xem cái đề. Chứ đề thế này bó tay không hiểu.

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi vipbk09
    Không hiểu đề.

    Tức nhập vào bàn phím 2 số a,x (a là cơ số, x là 1 số nguyên). Tìm n để x=a^n

    Nếu thế thì đây là 1 phép lôgarít.
    Không bác , chỉ nhập từ bàn phím 1 số bất kỳ ( a chẳng hạn). và trả về x ( ví dụ nhập vào số 8 thì trả về 3 vì 8 = 2^3, nhập vào 27 thì trả về 3 vì 27 = 3^3 ). và giải bằng thuật toán bit.

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi smartboybg
    Không bác , chỉ nhập từ bàn phím 1 số bất kỳ ( a chẳng hạn). và trả về x ( ví dụ nhập vào số 8 thì trả về 3 vì 8 = 2^3, nhập vào 27 thì trả về 3 vì 27 = 3^3 ). và giải bằng thuật toán bit.
    Ý bạn là tìm n để một số nào đó mũ n sẽ bằng số mới nhập nhưng phải làm trên bit phải không???? Tại vì 2^3 (tức 2 mũ 3) mới bằng 8, chứ 2^3 (tức là 2 XOR 3) phải bằng 1 chứ!

  10. #10
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    thế nhập vào 16 thì trả về gì vậy bạn?

 

 
Trang 1 của 2 12 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •