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. 微博OpenAPI练习之问题记录

    今日想通过新浪微博OpenAPI,做一个客户端出来.可以说过程比较艰难.这里只记录下遇到的问题,其它的按api要求注册.创建应用什么就好了. 1.API jar引用问题 创建了自己的工程,并按照文档说 ...

  2. MySQL精粹

    关于Mysql整理的需要记忆和熟练掌握的内容 1.查询数据表的信息(比如有多少行数据): show table status like 'tab_User' -- 数据表中的数量   2. 使用 ex ...

  3. java 版本SQLHelper

    package com.jack.SQLHelper; import java.sql.*;import java.util.logging.*;import javax.swing.table.*; ...

  4. webpack的配置及使用

    webpack 安装 命令行输入 npm install webpack 配置文件 webpack.config.js moudule.exports = { //Import 入口文件 entry: ...

  5. 关于C语言中的inline

    在c中,为了解决一些频繁调用的小函数大量消耗栈空间或是叫栈内存的问题,特别的引入了inline修饰符,表示为内联函数.栈空间就是指放置程式的局部数据也就是函数内数据的内存空间,在系统下,栈空间是有限的 ...

  6. Qt Label show Images

    第一.我们需要让QLabel的大小不因为图片的大小变化而变化,可以用下面语句实现 ui->imageLabel->setSizePolicy(QSizePolicy::Ignored, Q ...

  7. AES算法简介

    AES算法简介 一. AES的结构 1.总体结构 明文分组的长度为128位即16字节,密钥长度可以为16,24或者32字节(128,192,256位).根据密钥的长度,算法被称为AES-128,AES ...

  8. angularJS自定义过滤器、服务和指令

    自定义过滤器 mainApp.filter('mayfilter',function(){ return function(input){ (过滤逻辑代码) } });   自定义创建指令 mainA ...

  9. SQL数据库注入防范 ASP.NET Globle警告

    在项目中的Global.asax页面代码中加下面的代码,就可以有效的防范简单的SQL注入. protected void Application_BeginRequest(Object sender, ...

  10. Asp.Net Mvc5新特性

    One ASP.NET:统一平台 BootStrap:免费Css响应式页面 路由标记属性:简单,控制器,操作,前缀,参数,URL ASP.NET WEB API 2:路由标记属性,Oauth2.0,O ...