2405:找到10进制,16进制和12进制下各位数的和相等的10进制四位数。
乍一看好像是进制转换题,其实简单了很多。只要各位上的数字,无需考虑顺序就不用递归,循环即可。也不用考虑字母和数字转换,直接用数字求和即可。
乍一看好像是进制转换题,其实简单了很多。只要各位上的数字,无需考虑顺序就不用递归,循环即可。也不用考虑字母和数字转换,直接用数字求和即可。
#include<stdio.h>
#include<iostream>
using namespace std;
int cal(int dec,int base)
{
int sum=0;
while(dec)
{
sum+=dec%base;
dec/=base;
}
return sum;
}
int main()
{
int a;
int b;
int c;
for(int i=1000;i<10000;i++)
{
a=cal(i,10);
b=cal(i,16);
c=cal(i,12);
if(a==b&&b==c)
cout<<i<<endl;
}
}