//中考考后第一更。我深深地感到自己实在是个大弱逼 //这题代码还是从别人那抄来的。。。 //http://www.cppblog.com/ccl0326/archive/2009/07/31/91792.html //只好多写点注释,洗清罪名 //这美丽的代码,瞬间自惭形秽 #include <iostream> #include <string> #include <math.h> using namespace std; string str1; string str2; int len1,len2; int num1,num2; long StrToInt(string str) //字符串转换+进制转换 { long reNum=0; int len=str.length(); int p=0; for (int i=len-1;i>=0;i--) { int u=(int)pow(2,p);p++; switch(str[i]) { case '1':reNum+=u;break; default:break; } } return reNum; } string IntToStr(int value) { string str=""; while (value!=0) { int x=value%2; if (x==0) str='0'+str; else str='1'+str; value=value/2; } return str; } void readp() { cin>>str1; cin>>str2; num2=StrToInt(str2); } void solve() { string str=""; for (int i=0;i<str1.length();i++) { str+=str1[i]; num1=StrToInt(str); if (num1>=num2) //把除数扩大10^x倍后再减,提高效率 { int x=num1-num2; str=IntToStr(x); } } if (str=="") str="0"; //唯一自己写的一句话,特判 cout<<str<<endl; } int main() { readp(); solve(); return 0; }
6
22
2015
22
2015