CCF模拟题 26. IP地址(用于保存 未完成)

【问题描述】

一个IP地址由32位二进制的数组成,比如:

111111111111111111111111000000002

为了便于记忆,我们将8个二进制位用一个十进制数表示,一个IP地址由四个十进制数表示,上述的IP地址表示为:

255.255.255.0

现在给你一个上述形式的IP地址,请回答IP地址的32个二进制位中,有多少位是1。

如IP地址为255.255.255.0,其中24位是1。

【输入形式】

有多组测试数据。

测试数据第一行是一个正整数T,表示测试数据组数。

每组测试数据是一个IP地址,形式为:

IP1.IP2.IP3.IP4

其中0 ≤IP1,IP2,IP3,IP4≤ 255,用十进制表示。每个IP地址不保证是实用IP地址。

40%的测试数据组数T 10≤T≤ 102;

30%的测试数据组数T 102≤T≤ 103;

20%的测试数据组数T 103≤T≤ 104;

10%的测试数据组数T 104≤T≤ 105;

【输出形式】

对于每个IP地址,输出一行包含一个非负整数:该IP地址的32个二进制位中,1的位数。

【样例输入】

5
255.255.255.0
127.0.0.1
0.0.0.1
1.2.3.4
0.0.0.0
【样例输出】

24
8
1
5
0
提示:样例中32位的IP地址为:

CCF模拟题 26. IP地址(用于保存 未完成)_第1张图片

你可能感兴趣的:(C++,CCF)