hdu 2097 Java Sky數
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 1236 排名(Java)Java
- hdu1025javaJava
- hdu1069javaJava
- hdu2011javaJava
- HDU 6415 (計數dp)
- hdu2084數塔
- codeforces Photo of The Sky
- hdu1297大數遞迴遞迴
- HDU 6033 Add More Zero (數學)
- <hdu-OJ>|| 2040_親和數
- HDU 1060 Leftmost Digit(數論,c++)GitC++
- Satellite Turla: APT Command and Control in the SkyAPT
- sky-take-out chapter 1APT
- hdu 2111 Saving HDU (DP)
- HDU 6034 Balala Power!(大數進位制)
- 【dp+組合數學】hdu 2018 多校第九場 1001 Rikka with Nash Equilibrium hdu 6415UI
- hdu 5698 瞬間移動 【質因數分解求組合數】
- HDU 2068 RPG的錯排 (錯排+組合數)
- 【hdu】口算訓練/二分/質因數分解
- Shape of HDU
- HDU 3349
- HDU 2052(C語言+註釋)+HDU 2090C語言
- HDU 4135 Co-prime(容斥原理+分解質因數)
- HDU 1792 - A New Change Problem(規律,最大不能組合數及其個數)
- 【HDU - 1792】A New Change Problem(推公式、互質數的最大不能表示數)公式
- 簡單的揹包問題(入門)HDU2602 HDU2546 HDU1864
- HDU 3661 Assignments
- hdu 6415 - DP
- HDU4787
- hdu2083
- hdu5540
- HDU 4921 Map
- hdu5532
- HDU 1240 Asteroids!AST
- OpenHarmony LiteOS C-SKY指令集移植指北
- Explore the Sky丨來 TiDB Hackathon 2021 探索無限可能TiDB
- 2020ICPC上海 I Sky Garden(亂搞,思維)
- HDU6415(DP)
- HDU 3400 Line belt