內容 :
你說什麼?777=511?怎麼可能…?
因為這裡是八進位的777轉換成10進位的511了~(好爛ˇ)
給你十進位的數字,請你把他們轉成八進位好嗎?
輸入說明 :
每個測資點有多筆測資,請以EOF作為結束。
每組測資一行,有整數n(0<=n<=511),表示要轉換成八進位的數字
最後出現小於0的整數表示測資結束。
<所有出現的整數皆可以signed 32-bits int儲存>
輸出說明 :
對於每一行測資請輸出整數n的八進位表示。
對於最後一個小於0的整數,請輸出-1。
範例輸入 :
277
511
123
456
-1
範例輸出 :
425
777
173
710
-1
提示 :
背景知識: 流程控制
1.進位制轉換
2.共三個測資點30%、35%、35%,
第一個測資點即範例測資。
出處 :
jack1 (管理:jack1)
範例解答:
import java.io.IOException; import java.util.Scanner; public class eee { @SuppressWarnings({ "resource", "unused" }) public static void main(String[] args) throws IOException { Scanner read = new Scanner(System.in); int input; int input_backup; int Quotient; int residue; String ans; while(read.hasNext()) { ans=""; Quotient=888; input=read.nextInt(); input_backup=input; if(input<0) {System.out.println("-1"); break;} while(Quotient>=8) { Quotient=input/8; residue=input%8; ans+=residue; input=Quotient; } if(input_backup>=8)ans+=Quotient; ans=new StringBuffer(ans).reverse().toString(); System.out.println(ans); } } }
![[JAVA教學範例] d635: 幸運777?luck (八進制轉換) [JAVA教學範例] d635: 幸運777?luck (八進制轉換)](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJToWNZnpF-uif79DLUDHJW2gS-cAByM1iKT_tSgKqFeWGZ6j8P3xkTXWjKLyzj3sicrbqoSxyJRNaGb5VxA_UJTXS2SrrOxcQm1l5PERKxbdQN_Xw9cPOndt1t6ZFJYWo3yPXWil4Fmo/s640/1316689430-1607818323_m%5B1%5D.jpg)
沒有留言 :
張貼留言