【题意】:输出四位数中所有十进制=十二进制=十六进制的数。
【思路】:穷举就OK。避免重复可以再函数中增加一个位数的参数,这样三个函数写一个就行。
【AC代码】:
#include <iostream> #include <cstdlib> #include <cstdio> #include <cstring> #include <algorithm> #include <iomanip> using namespace std; int getDec(int x) { int sum = 0; while (x) { sum += x%10; x /= 10; } return sum; } int getDuo(int x) { int sum = 0; while (x) { sum += x%12; x /= 12; } return sum; } int getHex(int x) { int sum = 0; while (x) { sum += x%16; x /= 16; } return sum; } int main() { int i = 0; for (i = 1000; i <= 9999; i++) { if (getDec(i) == getDuo(i) && getHex(i) == getDuo(i)) cout << i << endl; } return 0; }
时间: 2024-10-08 15:46:22