题目大意:
这题的意思就是说,给两个字符串,一个字符串中的数字是用10进制表示的,一个字符串的数字是用2进制表示的,看看十进制和二进制是否对应。
解题思路:
处理在'.'上。。。。
代码:
1 # include<cstdio> 2 # include<iostream> 3 # include<cstring> 4 # include<cmath> 5 6 using namespace std; 7 8 # define MAX 50 9 10 char s1[MAX]; 11 char s2[MAX]; 12 int n1,n2,n3,n4; 13 string str; 14 15 int check() 16 { 17 int i = 0, temp = 0; 18 while ( str[i]!='.' ) 19 { 20 temp*=2; 21 temp+=(str[i]-'0'); 22 i++; 23 } 24 if ( temp!= n1 ) 25 return 0; 26 i++; temp = 0; 27 while ( str[i]!='.' ) 28 { 29 temp*=2; 30 temp+=(str[i]-'0'); 31 i++; 32 } 33 if ( temp!=n2 ) 34 return 0; 35 36 i++; temp = 0; 37 while ( str[i]!='.' ) 38 { 39 temp*=2; 40 temp+=(str[i]-'0'); 41 i++; 42 } 43 if ( temp!=n3 ) 44 return 0; 45 i++; temp = 0; 46 while ( str[i]!='