01/10/2018, 08:30
Bài tập Python chưa hiểu
Hi các anh,
nhờ các anh xem và giải thích 1 bài tập python này giup em , em mới học python nên hy vong dc học hỏi nhiều
ĐỀ Bài :
Đầu vào: một số nguyên dương
Đầu ra: phần từ số 1 cuối cùng trở về bên phải - của dạng binary của số đầu vào.
Hàm có sẵn: bin(10) == ‘0b1010’
Bài liên quan
Bit Processing basic
đề bài cóa sẵn ví dụ rồi mà
bin(10) == '0b1010'
thì phần từ số 1 cuối cùng trở về bên phải là 10
Gợi ý. tìm đc số 1 cuối cùng, dùng các function cơ bản của string…
Không dùng bit được vì Bignum là native.
mấy a có vd cho e dễ hiểu ko, vì em mới học chưa thông cho lắm
đã làm được thanks @kyn9999
=)) post bài giải lên đi Cường
giải đúng yêu cầu còn code thì hiêu sao viết vậy nha
In [31]: input = 2000
In [32]: bin(input)
Out[32]: ‘0b11111010000’
In [36]: print(bin(input)[-5:])
10000
In [14]: a = 10
In [15]: b = bin(a).replace(“0b”,"")
In [16]: for i in range(len(b)):
…: if b[len(b)-1-i] == ‘1’:
…: print b[(len(b)-1-i):]
…: break
…:
10
làm thế này là ko được rồi:grin:
ai lại in ra rồi mới print như thế, nếu là số khác thì ko phải là -5 nữa mà là 1 số nào đó, mỗi lần in đều phải tính toán à :v
nghĩ cách nào không dùng vòng lặp xem, đọc kĩ các function của string xem dùng cái nào
https://www.tutorialspoint.com/python/python_strings.htm
In [20]: a = 2000
In [21]: b = bin(a).replace(“0b”,"")
In [22]: print b[b.rfind(‘1’):]
10000