国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

華為OJ:判斷兩個IP是否屬于同一子網(wǎng)

2019-11-08 02:12:17
字體:
供稿:網(wǎng)友

題目描述 子網(wǎng)掩碼是用來判斷任意兩臺計算機的ip地址是否屬于同一子網(wǎng)絡(luò)的根據(jù)。 子網(wǎng)掩碼與IP地址結(jié)構(gòu)相同,是32位二進制數(shù),其中網(wǎng)絡(luò)號部分全為“1”和主機號部分全為“0”。利用子網(wǎng)掩碼可以判斷兩臺主機是否中同一子網(wǎng)中。若兩臺主機的IP地址分別與它們的子網(wǎng)掩碼相“與”后的結(jié)果相同,則說明這兩臺主機在同一子網(wǎng)中。 示例: I P 地址  192.168.0.1 子網(wǎng)掩碼  255.255.255.0 轉(zhuǎn)化為二進制進行運算: I P 地址 11010000.10101000.00000000.00000001 子網(wǎng)掩碼 11111111.11111111.11111111.00000000 AND運算     11000000.10101000.00000000.00000000 轉(zhuǎn)化為十進制后為:     192.168.0.0

I P 地址  192.168.0.254 子網(wǎng)掩碼  255.255.255.0

轉(zhuǎn)化為二進制進行運算: I P 地址 11010000.10101000.00000000.11111110 子網(wǎng)掩碼 11111111.11111111.11111111.00000000 AND運算      11000000.10101000.00000000.00000000 轉(zhuǎn)化為十進制后為:      192.168.0.0 通過以上對兩臺計算機IP地址與子網(wǎng)掩碼的AND運算后,我們可以看到它運算結(jié)果是一樣的。均為192.168.0.0,所以這二臺計算機可視為是同一子網(wǎng)絡(luò)。 /* * 功能: 判斷兩臺計算機IP地址是同一子網(wǎng)絡(luò)。 * 輸入?yún)?shù): String Mask: 子網(wǎng)掩碼,格式:“255.255.255.0”; * String ip1: 計算機1的IP地址,格式:“192.168.0.254”; * String ip2: 計算機2的IP地址,格式:“192.168.0.1”; * * 返回值: 0:IP1與IP2屬于同一子網(wǎng)絡(luò); 1:IP地址或子網(wǎng)掩碼格式非法; 2:IP1與IP2不屬于同一子網(wǎng)絡(luò) */ public int checkNetSegment(String mask, String ip1, String ip2) { /在這里實現(xiàn)功能/ return 0; }

輸入描述: 輸入子網(wǎng)掩碼、兩個ip地址

輸出描述: 得到計算結(jié)果

輸入例子: 255.255.255.0 192.168.224.256 192.168.10.4

輸出例子:(牛客通過,但是華為oj不過) 1

解析:#include <iostream>#include <string>#include <cstring>#include <sstream>using namespace std;int main(){ int a,b,c,d; int ia,ib,ic,id; int ma=0,mb=0,mc=0,md=0; int da1,db1,dc1,dd1; int da2,db2,dc2,dd2; char ch; string str; stringstream ss; while(cin>>str) { ss<<str; ss>>ma>>ch>>mb>>ch>>mc>>ch>>md; ss.clear(); cin>>str; ss<<str; ss>>a>>ch>>b>>ch>>c>>ch>>d; ss.clear(); cin>>str; ss<<str; ss>>ia>>ch>>ib>>ch>>ic>>ch>>id; ss.clear(); if(ma<0||ma>255||mb<0||mb>255||mc<0||mc>255||md<0||md>255||a<0||a>255||b<0||b>255||c<0||c>255||d<0||d>255||ia<0||ia>255||ib<0||ib>255||ic<0||ic>255||id<0||id>255) { cout<<1<<endl; } else if((a&ma)==(ia&ma)&&(b&ma)==(ib&ma)&&(c&ma)==(ic&ma)&&(d&ma)==(id&ma)) cout<<0<<endl; else cout<<2<<endl; } return 0;}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 晋江市| 秦皇岛市| 厦门市| 定陶县| 金阳县| 星子县| 松潘县| 河北省| 黑山县| 定远县| 铜陵市| 邹平县| 改则县| 茌平县| 阳山县| 瓮安县| 南昌县| 灵丘县| 荥阳市| 漯河市| 石嘴山市| 潮州市| 康乐县| 苏尼特右旗| 镇原县| 喀喇沁旗| 眉山市| 平塘县| 潞西市| 宣武区| 广西| 泾川县| 济源市| 固镇县| 万载县| 金堂县| 兴海县| 邢台县| 宜兴市| 高邮市| 晋州市|