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 2072 Java 單詞數(超級坑) HDU 2072Java
- HDU 1236 排名(Java)Java
- HDU 2662 Coin && HDU 1792 A New Change Problem (互質數最大不能生成數)
- Map集合(Java基礎、skycto JEEditor)Java
- hdu 1792 A New Change Problem(數論)
- hdu2011javaJava
- HDU 4944 FSF’s game(計數遊戲)GAM遊戲
- HDU 2254 奧運(數論+矩陣)矩陣
- HDU 4497GCD and LCM(素數分解)GC
- SkyWalking Java 外掛貢獻實踐Java
- HDU 1016 java 已AcJava
- 數學規律題,數論知識:hdu1792
- hdu5435 數位dp(大數的處理)
- jvm的記憶體引數配置(skycto JEEditor)JVM記憶體
- 【KMP求字串匹配次數】 hdu 1686KMP字串匹配
- HDU 4497 GCD and LCM(拆素數+組合)GC
- HDU 2582 f(n) (組合數的gcd)GC
- HDU5425Rikka with Tree II(數學期望)
- Java中文分片語件 - word分詞(skycto JEEditor)Java分詞
- hdu 2085 java 核反應堆Java
- HDU 6034 Balala Power!(大數進位制)
- HDU44979 GCD and LCM (素因子分解+計數)GC
- hdu 1326 java (理解起來很簡單)Java
- hdu 1753 Java 高精度處理 大明A+BJava
- HDU4342 History repeat itself數學規律題
- HDU 4911 Inversion(歸併排序求逆序數)排序
- Skywalking-03:Skywalking本地除錯除錯
- Skywalking-12:Skywalking SPI機制
- HDU 1792-A New Change Problem(互質數的最大不能表示數)
- hdu 1237 Java 簡單計算器Java
- 【HDU - 1792】A New Change Problem(推公式、互質數的最大不能表示數)公式
- HDU 1792 - A New Change Problem(規律,最大不能組合數及其個數)
- HDU 1060 Leftmost Digit(數論,c++)GitC++
- hdu 3117矩陣+斐波那契數列矩陣
- HDU2689 Sort it (樹狀陣列求逆序數)陣列
- codeforces Photo of The Sky
- 部署SkyWalking
- 一個人的旅行_hdu_2066(dijkstra).javaJava