Problem1054--IP的计算

1054: IP的计算

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 1977  Solved: 637
[Submit] [Status] [Web Board] [Creator:]

Description

“连接状态:
地址类型:          通过DHCP指派
  IP地址:          60.176.38.23
  子网掩码:          255.255.252.0
  默认网关:          60.176.36.1
  首选DNS服务器:      210.32.32.1
  备用DNS服务器:      210.32.32.10

我用最近学习的网络知识,来一一向你解释下(如果有误,恳请指正,谢谢):
1)  一个主机的适配器(网卡)或者一个路由器的适配器与网络的接口的IP地址(IP地址是指接口上的地址)可以由主机用户手工配置,也可以由专用的DHCP服务器来分配,DHCP即动态主机配置协议。
2)  IP地址,我想不需要解释了吧?不过需要说明下,IP地址分网络号部分和主机号部分,网络号在前,主机号在后,用可变长的子网划分的方法来标志一个IP地址的话,IP地址可以写成如60.176.36.0/x,其中x表示最开始的x位为网络号部分,后面的 32-x 位为主机号部分,也就是说,这个子网内部可以分配的IP地址最多有(232-x)-2个(对于主机号全0和全1的IP,具有特殊意义,不能分配给主机)。注意,对于网络管理员来说,他要组建一个网络,必须要申请一定的IP地址空间,但是IP地址空间是有限的,因此不能任意分配(这些IP地址空间需要到特定的ISP去申请),因此必须因地制宜,分配满足需要但是最小的地址空间。
3)  子网掩码的作用就是为了让主机快速的读出一个IP地址中网络号部分,以备快速的定位子网,我们只需要用IP地址与子网掩码进行与操作,就能读出网络号部分,因此可见子网掩码中前x位全部是1,后面全部是0.
4)  默认网关是指一个AS(自治系统)对外部其他的AS进行分组交换的一个路由器,当然也有相应的IP地址。
5)  DNS是域名系统,其中最基本的作用就是域名与IP地址之间进行转换,python.xidian.edu.cn 是一个域名,而 192.168.100.10 是严格格式的IP,而域名可以有多个,如 python2.xidian.edu.cn 也可以指相同的网站,DNS 服务器有庞大的分布式数据库,用来保存这些映射关系。
6)  对于一个组建的一个子网,一定会有一台服务器来提供服务,这台服务器必须由管理员设置一个固定IP地址
Hint
请注意,服务器的IP也是子网内的

现在你就是一个网络管理员,你需要组建一个局域网络,已知该网络中某时刻最大可能连接入网的主机个数(不同时刻,连接入网的主机数量在不断变化),问如果对于一台特定的主机,该如何设定其子网掩码,才能让主机获得该子网的正确的网络号部分。


Input

输入有多个case,每个case有一个正整数字 N,表示该子网最大可能连接进来的主机的个数。保证结果存在。


Output

对于每个case,输出一个满足要求的掩码,注意掩码需要用标准的IP点分形式,每个小部分是一个8位的无符号整数,共有4个部分,IP中没有空格。


Sample Input

10

Sample Output

255.255.255.240

HINT

这道题涉及到了《计算机网络》 TCP/IP协议一些关键信息,比较有难度,没时间就做其他题目吧
可以阅读下面的参考文章来把基本概念搞清楚
参考文章
IP地址和子网划分学习笔记之《子网掩码详解》-漂洋过海来打你-51CTO博客
https://blog.51cto.com/6930123/2112748
  
IP地址分类、子网掩码、子网划分及示例_python_weixin_44569143的博客-CSDN博客 
 https://blog.csdn.net/weixin_44569143/article/details/89112092


IP地址根据子网掩码划分子网 - 小丁木 - 博客园  
https://www.cnblogs.com/xiaodingmu/p/7415069.html


IP子网划分_百度百科 
 https://baike.baidu.com/item/IP%E5%AD%90%E7%BD%91%E5%88%92%E5%88%86/7382494?fr=aladdin

Source/Category


[Submit] [Status]