求大神帮助下
#include <iostream>
#include <string>
using namespace std;
long b2ten (char *a,int b)//输入一个b进制的数,输出该数的十进制的数值
{ int i,temp=0;
int len=strlen(a);
for (i=0;i<len;i++){
if(a[i]-'0'>=b)
return -1;
temp*=b;
temp+=a[i]-'0';
}
return (long)temp;
}
int main()
{int b;
char a1[8],a2[8],a3[3];
long b1,b2,b3;
cout <<"please input three numbers"<<endl;
cin>>*a1>>*a2>>*a3;
for (b=2;b<16;b++){
b1=b2ten(a1,b);
b2=b2ten(a2,b);
b3=b2ten(a3,b);
if(b1==-1||b2==-1||b3==-1)
cout<<"there is no answer !fuck!"<<endl;
if(b1*b2==b3)
cout<<b<<endl;
break;
}
return 0;
}
输入3个数,然后输出一个能满足这3个数的乘法的最小数值,不知道为什么
if(b1*b2==b3)
cout<<b<<endl;
这句话不能表达,求大神相助;