HDU 1197 Specialized Four-Digit Numbers (枚举+进制转化,简单)
Posted dwtfukgv
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 1197 Specialized Four-Digit Numbers (枚举+进制转化,简单)相关的知识,希望对你有一定的参考价值。
题意:让求从2992-9999中所有数字,满足10进制各位之和和12进制和16进制各位数字之和相等。
析:没啥可说的,只能枚举从2992-9999,每个进制都算一下。
代码如下:
#include <iostream> #include <cstdio> #include <algorithm> #include <queue> #include <vector> #include <cstring> #include <map> using namespace std; const int maxn = 70; int itoa_n(int n, int r){ int ans = 0; while(n){ ans += n % r; n /= r; } return ans; } int main(){ for(int i = 2992; i < 10000; ++i){ if(itoa_n(i, 10) == itoa_n(i, 12) && itoa_n(i, 10) == itoa_n(i, 16)) printf("%d\n", i); } return 0; }
以上是关于HDU 1197 Specialized Four-Digit Numbers (枚举+进制转化,简单)的主要内容,如果未能解决你的问题,请参考以下文章
HDU 1197 Specialized Four-Digit Numbers (枚举+进制转化,简单)
D - Specialized Four-Digit Numbers