点击打开链接

Sky数

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 17047    Accepted Submission(s): 9752

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.

思路:

题目的意思很简单,就是求某个数的10,12,16,进制的位数的和加起来,是否等于同一个数,然后按要求输出。

package cn.hncu.acm;import java.util.Scanner;public class p2097 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);while(sc.hasNext()){int n=sc.nextInt();int m=n;//n的值多复制几个,后面转换16,12进制的时候每次需要改变int k=m;if(n==0){break;}int a,b,c,d,sum=0;//四位数int sum1=0,sum2=0;a=n/1000;//取千位数,  b=(n-a*1000)/100;//取百位数   还可以写出  b =n%1000/100;c=(n-a*1000-b*100)/10;//取十位数   同样  等价于 c=n%100/10;d= n%10;//取个位数sum=a+b+c+d;//所有位数的和加起来//求十六进制数 while(n>0){a=n%16;sum1 += a;//求得的位数加起来。n=n/16;}/<span style="color:#ff0000;">/n在上面求16进制的时候改变了,所以这时候就是多复制的好处了,m/*  这个就要注意了,千万不能这样写,这样写会出现一个漏洞,就是当10,16进制的和相等,* 但是和12,进制的不等,就会出现问题************后面自己改动了就过了</span>if(sum!=sum1){System.out.println(k+" is not a Sky Number.");continue;}*///求12 进制while(m>0){b=m%12;sum2+=b;m=m/12;}//满足条件就符合条件了if(sum==sum2&&sum2==sum1){System.out.println(k+" is a Sky Number.");}e<span style="color:#ff0000;">lse{System.out.println(k+" is not a Sky Number.");}</span>}}
}

hdu 2097 Java Sky数相关推荐

  1. hdoj 2097 Sky数

    Sky数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  2. HDU2097 Sky数【进制】

    Sky数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  3. hdu2097 Sky数

    Sky数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  4. 判断一个数是否为Sky数

    判断Sky数 Problem Description Sky从小喜欢奇特的东西,而且天生对数字特别敏感,一次偶然的机会,他发现了一个有趣的四位数2992,这个数,它的十进制数表示,其四位数字之和为2+ ...

  5. 判断一个数是不是Sky数

    小赵对进制特别感兴趣,不光研究2进制,3进制,4进制,5进--.-.突然有一次,他发现了一个特殊的数2992,这个数,它的十进制数表示,其四位数字之和为2+9+9+2=22,它的十六进制数BB0,其四 ...

  6. HDU2097:Sky数

    点击打开题目链接 Sky数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) To ...

  7. java參数传递机制浅析

    欢迎转载,转载请声明出处! ----------------------------------------- 前言: java语言中,參数的传递仅仅有一种机制.那就是值传递. 举例: 以下将通过几个 ...

  8. 网络流(最大流) HDU 1565 方格取数(1) HDU 1569 方格取数(2)

    HDU 1565 方格取数(1) 给你一个n*n的格子的棋盘,每个格子里面有一个非负数. 从中取出若干个数,使得任意的两个数所在的格子没有公共边,就是说所取的数所在的2个格子不能相邻,并且取出的数的和 ...

  9. JAVA回形数的实现

    private static void backArray() {Scanner scanner = new Scanner(System.in);System.out.println("请 ...

最新文章

  1. 程序员被质疑跳槽频繁不稳定,随后的一番话令HR哑口无言!
  2. 加拿大两院院士裴健:搜索皆智能​,智能皆搜索
  3. linux 瘦客户机系统,2X ThinClientOS基于Linux的瘦客户端系统 | MOS86
  4. php access control allow origin,js请求跨域问题--Access-Control-Allow-Origin
  5. MAT之PSO:利用PSO算法优化二元函数,寻找最优个体适应度
  6. html5标签及属性大全,HTML5 标签 和属性 列表.pdf
  7. [探索][管理]《现在,发现你的优势》
  8. homebrew长时间停在Updating Homebrew 这个步骤
  9. MINIGUI交叉编译【转】
  10. 将Halcon导出的多个dxf文件合并成一个分图层的dxf文件
  11. 查询结果取交集_MySQL Using intersect 交集
  12. 18awg线材最大电流_USB4来了,最大的变化是这个
  13. Kepware KEPServerEX连接Cimplicity OPC UA Server
  14. 微信小程序实现输入车牌号码的功能(附效果图)
  15. 品质qc工程图_QC工程图_(品管).xls
  16. 分享一个2.4G无线麦克风音频接收器的成功案例
  17. 【BP回归预测】基于matlab改进的鲸鱼算法优化BP神经网络回归预测(多输入单输出)【含Matlab源码 2184期】
  18. matlab ttest空值,用MATLAB做T检验(ttest)
  19. nRF51822 官方 Blinky 工程(多彩 LED)
  20. 主流的移动机器人视觉系统,主要分为哪几种?

热门文章

  1. gradle(Project)
  2. 5000英镑就可买到控制美国核武库的同款IBM电脑
  3. 【例9-3】结构体变量的引用
  4. 微信小程序组件化开发框架wepy 学习(三)
  5. python翻译程序-Python:谷歌翻译20次的程序如何实现?
  6. Excel表格xlsx表格js生成Table
  7. 为啥只有IPv4和IPv6,没有IPv5呢?
  8. 为什么都有API网关?聊聊API网关的作用
  9. SAP PP 第一节 PP后台配置
  10. 微信小程序开发者工具-使用技巧(更新中~)