【C++】判断乘法的进制

来源:互联网 发布:微信淘宝优惠群怎么做 编辑:程序博客网 时间:2024/05/10 19:16

判断是在几进制下的乘法

输入两个乘数,再输入结果

输出几进制,如果在2到16进制内都不成立,输出0

先要判断这几个数是否是该进制下的数

#include<iostream>using namespace std;int o(int a,int b);bool iso(int a,int b);int main(void){int a,b,c;cin >> a;cin >> b;cin >> c;int i;int d = a*b;for(i = 2;i<17;i++){if(iso(a,i)&&iso(b,i)&&iso(c,i)){    if(o(a,i)*o(b,i)==o(c,i)){       cout << i;    break;}}}if(i==17)cout <<"0";}int o(int a,int b){int j = 0;int w = 0;int sum = 0;while(a>0){j = a%10;a /= 10;for(int i = 0;i<w;i++)j *= b;sum += j;w++;}return sum;}bool iso(int a,int b){int c;int s = a;while(s>0){c = s%10;if(c>=b)return false;s /= 10;}return true;}


0 0
原创粉丝点击