整体思路 对于任意的p,q,r,可能使得p*q=r的最小进制应该是p,q,r三个数的所有数位中最大的数字+1,例如,6,9,42三个数中所有数位中最大的数字是9,故可能成立的最小进制是9+1,即10.题目告诉我们,最大进制B<=16,这就确定了进制的最小范围. 我们设计以下函数来简化程序流程: int minB(),根据p,q,r计算最小进制 int nBto10(int num, int B),将B进制的数字num转化为10进制数 bool test(int B),测试p,q,r在进制B条件下…
#include<iostream> #include<cstdlib> using namespace std; int main() { //cout<<5/2<<" "<<5%2; int input; const int bite_num=20; while(1) { cout<<"请输入需要转化为二进制的十进制数:"; cin>>input; int num_form;…
1045 - Digits of Factorial Factorial of an integer is defined by the following function f(0) = 1 f(n) = f(n - 1) * n, if(n > 0) So, factorial of 5 is 120. But in different bases, the factorial may be different. For example, factorial of 5 in base 8 i…