題目連結:
題目大意:
給定一正整數 N ( 0 ≦ N ≦ 4, 294, 967, 295 ),將其轉成相應的 IPv4 之格式。
範例輸入:
1875123557
1643788805
32
範例輸出:
111.196.29.101
97.250.58.5
0.0.0.32
解題思維:
IPv4,是以 32 位元(也就是 4 個位元組)數字所組成的IP位置。而每 8 個位元( 1 個位元組)為一組,分成四組,彼此間用「.」分隔,即是我們常見的IP格式。
因此,要把一個數字轉成相應的 IPv4 ,只需要每一次都除以 256 並取餘數(或是用位元運算也可以),就會有相應的那一組 IP 。
不過直接除會讓那 4 組數字之順序顛倒,可以用陣列存起來,最後再輸出。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。