HDOJ(HDU) 2097 Sky数(进制)
Problem Description
Sky从小喜欢奇特的东西,而且天生对数字特别敏感,一次偶然的机会,他发现了一个有趣的四位数2992,这个数,它的十进制数表示,其四位数字之和为2+9+9+2=22,它的十六进制数BB0,其四位数字之和也为22,同时它的十二进制数表示1894,其四位数字之和也为22,啊哈,真是巧啊。Sky非常喜欢这种四位数,由于他的发现,所以这里我们命名其为Sky数。但是要判断这样的数还是有点麻烦啊,那么现在请你帮忙来判断任何一个十进制的四位数,是不是Sky数吧。
Input
输入含有一些四位正整数,如果为0,则输入结束。
Output
若n为Sky数,则输出“#n is a Sky Number.”,否则输出“#n is not a Sky Number.”。每个结果占一行。注意:#n表示所读入的n值。
Sample Input
2992
1234
0
Sample Output
2992 is a Sky Number.
1234 is not a Sky Number.
用java的Integer类中的toString方法,很容易将一个10进制的数转换为其他进制的数。
慢慢的体验Java方法的强大吧。。。
import java.util.Scanner;public class Main{public static void main(String[] args) {Scanner sc = new Scanner(System.in);char hex[] = {'a','b','c','d','e','f'};while(sc.hasNext()){int n10 = sc.nextInt();if(n10==0){return;}int a=0;int b=0;int c=0;String strn16 = Integer.toString(n10, 16);String strn12 = Integer.toString(n10, 12);int k=n10;while(k!=0){a=a+k%10;k=k/10;}//System.out.println(a);boolean isNum = true;for(int i=0;i<strn16.length();i++){isNum = true;for(int j=0;j<hex.length;j++){if(strn16.charAt(i)==hex[j]){b+=10+j;isNum=false;break;}}if(isNum){b+=Integer.parseInt(""+strn16.charAt(i));}}if(a!=b){System.out.println(n10+" is not a Sky Number.");continue;}for(int i=0;i<strn12.length();i++){isNum = true;for(int j=0;j<hex.length;j++){if(strn12.charAt(i)==hex[j]){c+=10+j;isNum=false;break;}}if(isNum){c+=Integer.parseInt(""+strn12.charAt(i));}}if(a!=c){System.out.println(n10+" is not a Sky Number.");continue;}System.out.println(n10+" is a Sky Number.");}}
}
HDOJ(HDU) 2097 Sky数(进制)相关推荐
- HDOJ(HDU) 2502 月之数(进制)
Problem Description 当寒月还在读大一的时候,他在一本武林秘籍中(据后来考证,估计是计算机基础,狂汗-ing),发现了神奇的二进制数. 如果一个正整数m表示成二进制,它的位数为n(不 ...
- hdoj 2097 Sky数
Sky数 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- C语言32位正整数作为id进程,SOJ4453 Excel列数 进制转换
描述 我们都知道Excel的列数是用字母表示的,比如第1列对应A,第27列对应AA. 假设给定一个正整数n,你能给出它所对应的字母表示么? 输入格式 程序需要读入多个测试样例,每个测试样例中: 一个正 ...
- 杭电------2097 Sky数(C语言写)
//这个题没有一次过,哈哈哈哈,题意理解错了,开始还以为是必须加起来等于22呢 //其实就是依次算出个进制下的和,虽然每个循环最多循环四次,但是还是加上必要的判断,想办法让 //提前结束 #inclu ...
- PAT练习 进制回文数(进制问题+字符串处理)
题目描述: 如果一个数字从左边读和从右边读一样,那么这个数字就是一个回文数.例如32123就是一个回文数:17在某种意义上也是一个回文数,因为它的二进制型式--10001--是一个回文数. 请你帮忙开 ...
- 计算机编码二进制0001,二进制学习01(二进制,进制运算,数据宽度,无符号位有符号位编码规则)...
二进制学习01 进制 一.二进制简介 1)什么是二进制? 2)二进制的简写形式 二.进制运算 1)八进制运算表 (1) 加法运算表 (2)乘法运算表 (3)八进制简单运算题 三.数据宽度 1)什么是数 ...
- 【数字电路基础】进制转换:二进制、十进制、八进制、十六进制、反码、补码、原码
文章目录 一.无符号数进制转换 1.1.十进制转二.八.十六 1.1.1. 十进制转二进制 1.1.2. 十进制转八进制 1.1.2. 十进制转十六进制 1.2.二.八.十六转十进制 1.3 二进制转 ...
- python16进制转10进制_python16进制转换为10进制
python将十六进制转为十进制数字的程序怎么写 把十六进制的字串转为十进制数字: Python代码 >>> print int('ff', 16) 255 >>> ...
- Java实现任意进制转换拓展进制转换计算器
JAVA实现蓝桥杯基础练习十六进制转换八进制-----------拓展进制转换计算器 这个题目我浏览了大量的道友的文章发现十分麻烦,但仍然从其中收益菲薄,所以在这里分享一下我认为最好的代码 impor ...
- 栈 10进制转16进制
#include<winuser.inl> #include<stdio.h> #include <time.h> #include <cstdlib> ...
最新文章
- Mac下安装JDK以及怎么配置环境变量?
- 如何在Windows下编译OpenSSL?
- 理论计算机初步:概率算法和近似算法
- What is Proguard?
- 简单理解mysql事务_如何理解数据库事务中的一致性的概念?
- 西门子plm_西门子PLM副总裁:NX,智能的CAD平台
- 爬虫获取不到网页完整源码_你的第一只网络爬虫
- “手把手撕LeetCode题目,扒各种算法套路的裤子”
- itext实现PDF模板套打java,生成电子合同电子收据电子发票
- 一些与一对一视频聊天软件开发有关的事,也许你该了解的
- OpenVSwitch的端口Port学习使用
- 弱密码验证不能连续字符(如123、abc)连续3位或3位以上、不能相同字符(如111、aaa)连续3位或3位以上
- 微博第三方+海外国际版+V2EX第三方
- golang 大数据平台_人工智能大数据平台中Golang的应用实践
- Lambda表达式和Stream类的使用
- 58同城2021校招笔试-二叉树遍历
- mini210s上uboot的移植
- 计算机在化学化工中的应用ppt绪论,化工原理_01概述全解课件.ppt
- 【GDAL工具箱】新手使用指南-简介
- 类和对象1-构造函数、析构函数
热门文章
- 软考笔记(数据结构篇)———— 二叉树、树、森林转换
- android原生ios,Windows Phone的原生iOS/Android应用程序
- fd 句柄_FD_CLOEXEC用法及原因-文件句柄
- 编译ffmpeg:no match insn: lbu $r16,0($r5)
- 编程基本功:工作完成之后,还有做好、做精、做美、做顶、做宗等境界
- JS向NPAPI传递参数,并返回结果
- 热烈庆祝排名进入5000
- java虚拟机内存_java虚拟机内存区域的划分以及作用详解
- python3多进程执行循环_Python3 并发编程之多进程(一)
- python 数据流中的移动平均值_Python实现数据流中的中位数【堆】