Specialized Four-Digit Numbers
Time Limit: 1000MS   Memory Limit: 65536K
Total Submissions: 7238   Accepted: 5285

Description

Find and list all four-digit numbers in decimal notation that have the property that the sum of its four digits equals the sum of its digits when represented in hexadecimal (base 16) notation and also equals the sum of its digits when represented in duodecimal (base 12) notation.
For example, the number 2991 has the sum of (decimal) digits 2+9+9+1
= 21. Since 2991 = 1*1728 + 8*144 + 9*12 + 3, its duodecimal
representation is 189312, and these digits also sum up to 21. But in hexadecimal 2991 is BAF16, and 11+10+15 = 36, so 2991 should be rejected by your program.

The next number (2992), however, has digits that sum to 22 in all three representations (including BB016),
so 2992 should be on the listed output. (We don't want decimal numbers
with fewer than four digits -- excluding leading zeroes -- so that 2992
is the first correct answer.)

Input

There is no input for this problem

Output

Your
output is to be 2992 and all larger four-digit numbers that satisfy the
requirements (in strictly increasing order), each on a separate line
with no leading or trailing blanks, ending with a new-line character.
There are to be no blank lines in the output. The first few lines of
the output are shown below.

Sample Input

There is no input for this problem

Sample Output

2992
2993
2994
2995
2996
2997
2998
2999
...

Source

Pacific Northwest 2004
 #include <iostream>

 using namespace std;

 int digits(int x)
{
int a = x/;
int sum = ;
sum +=a;
a = x%/;
sum +=a;
a = x%%/;
sum +=a;
a = x%%%;
sum +=a;
return sum;
}
int digits_12(int x)
{
int num_12[];
for(int i = ;i<;i++)
{
num_12[i]=x%;
x=x/;
}
return num_12[]+num_12[]+num_12[]+num_12[];
}
int digits_16(int x)
{
int num_16[];
for(int i = ;i<;i++)
{
num_16[i]=x%;
x=x/;
}
return num_16[]+num_16[]+num_16[]+num_16[];
}
int main()
{ int num_16[];
int x = ;
for(int i=x;i<=;i++)
{
int sum = digits(i);
int sum_12 = digits_12(i);
int sum_16 = digits_16(i);
if(sum ==sum_12&&sum==sum_16)
{
cout<<i<<endl;
}
}
return ;
}

poj2196的更多相关文章

  1. 【POJ2196】Specialized Four-Digit Numbers(暴力打表)

    一道水题,只要会复制粘贴就好! #include <iostream> #include <cstring> #include <cstdlib> #include ...

随机推荐

  1. Maven .m2 setting.xml配置

    settings.xml <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="h ...

  2. http接口测试浏览器插件

    http接口测试浏览器插件: Chrome: https://chrome.google.com/webstore/detail/chrome-poster/cdjfedloinmbppobahmon ...

  3. 关于ionic的一些坑(2)

    如果你通过查阅相关文档,ionic的项目框架已经搭好,下面我来总结一下我在项目中所遇到的坑,给还没踩过的人以方便,给自己以勉励: (1)关于android和ios的适配 因为ionic默认的tabs状 ...

  4. mini2440裸机试炼之——DMA直接存取 实现Uart(串口)通信

    这个仅仅能作为自己初步了解MDA的开门篇 实现功能: 将字符串数据通过DMA0通道传递给UTXH0,然后在终端 显示.传输数据完后.DMA0产生中断,beep声, LED亮. DMA基本知识 计算机系 ...

  5. 用JS来计算百钱买百鸡

    怎样用一百块买一百只鸡?已知公鸡5块一只,母鸡3块一只,小鸡一块钱3只: 需要用到for循环嵌套,并且通过优化代码,可以加快运行效率. <!DOCTYPE html> <html l ...

  6. 解决 innerHTML 在 IE6-IE9中不能赋值的bug

    在MSDN可以了解跟多,关于innerHTML的介绍,但是在这里只要是解决表格部分问题 MSDN上有这样的记录: When using innerHTML to insert script, you ...

  7. SpinLock(自旋锁)

    SpinLock(自旋锁) SpinLock 结构是一个低级别的互斥同步基元,它在等待获取锁时进行旋转. 在多核计算机上,当等待时间预计较短且极少出现争用情况时,SpinLock 的性能将高于其他类型 ...

  8. oracle 11g 64位安装32位客户端和PL/SQL

    转自:http://www.360doc.com/content/14/0602/10/4903283_382949382.shtml   这个你需要安装一个32位的oracle客户端才能使用plsq ...

  9. ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法

    转帖:原文地址http://blog.csdn.net/panys/article/details/3838846 archive log 日志已满ORA-00257: archiver error. ...

  10. [转载]iOS开发:获取设备信息

    开发iOS平台的应用的时候,可以获取iOS设备的设备信息,包括设备的名称,设备的机型,设备的iOS版本等等.设备信息主要来自 UIDevice 类. UIDevice *currentDevice = ...