ZOJ-2405 各位和相等的四位数
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;}}