//题目大意:若一个四位整数用10进制,12进制,16进制表示时位数之和都相等,则输出
//思路:水题,不解释,穷举加判断即可
#include<iostream> using namespace std; void judge(int); int translate(int,int); int main() { int i; for(i=2992;i<=9999;i++) judge(i); return 0; } void judge(int num) //判断条件,分别用10进制,12进制,16进制表示 { int d,duod,hexa; d=translate(num,10); duod=translate(num,12); hexa=translate(num,16); if(d==duod&&d==hexa) cout<<num<<endl; return; } int translate(int num,int x) //将num按x进制进行分解,再将每个位加起来返回 { int sum=0; while(num>=x) { sum+=num%x; num=num/x; } return sum+num; }