Loading Now

addressOfIP

Vì muốn làm hacker nên P dấn thân vào học lập trình. Trong một hôm đang lướt lướt trên mạng, P tự nhiên nhận được một chuỗi số từ một người bạn bí ẩn gửi kèm những chữ cái lạ lùng "0X0X0X", vì muốn tìm hiểu những dãy số đó là gì nên P đã bắt đầu tìm hiểu nghiên cứu những dãy số lạ kia và rồi P cũng biết đó là những địa chỉ IP của máy tính và chúng đang được mã hóa dưới dạng những con số. Vì mới học lập trình nên chàng hacker đang gặp rất nhiều khó khăn, hãy giúp đỡ chàng trai đó nào.

Kết quả được xuất theo quy tắc xxx.xxx.xxx.xxx

Lưu ý: những số mã hóa theo dãy 32 bit. Hãy nhìn những ví dụ để hiểu thêm.

Ví dụ:

  • Với arr = [1,3232235777
    thì addressOfIP(a) =  ["0.0.0.1","192.168.1.1"]
    Giải thích:
    • Với số 1 chuyển sang dạng nhị phân 32 bit là 0000000000000000000000000000001, sau đó chia là 4 phần 8 bit phân tách nhau bởi dấu ( . ), trong mỗi phần đó chuyển về dạng thập phân và xuất ra theo như mẫu là "0.0.0.1"

    • Với số 3232235777 chuyển sang dạng nhị phân 32 bit là 11000000101010000000000100000001, sau đó chia làm 4 phần 8 bit phân tách nhau chuyển về dạng thâp phân rồi xuất theo mẫu "192.168.1.1"

Đầu vào/Đầu ra:

  • [Thời gian chạy] 0.5s với C++, 3s với Java và C#, 4s với Python, Go và JavaScript.

  • [Đầu vào] Array of longs: arr
    1 ≤ arr.length ≤ 104
    0 ≤ arr[i] < 232

  • [Đầu ra] Array of String. 
    Xuất kết quả theo đúng quy chuẩn yêu cầu.

Post Comment

Contact