切換
舊版
前往
大廳
主題

ZeroJudge - c705: Int32 to IPv4 解題心得

Not In My Back Yard | 2018-12-03 19:58:47 | 巴幣 0 | 人氣 159

題目連結:


題目大意:
給定一正整數 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 組數字之順序顛倒,可以用陣列存起來,最後再輸出。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作