Status ¶
Problem | 2453 | User | talin0528 |
Memory | 3656K | Time | 375MS |
Language | Java | Result | Accepted |
Idea ¶
bit , 10 -> 2 ㅠㅠ(고 ..;ㅁ;.. !)
1 그 0 1 고, 1 ...
ex)
0010 0000 -> 0100 0000
0011 1100 -> 0100 0111
1 그 0 1 고, 1 ...
ex)
0010 0000 -> 0100 0000
0011 1100 -> 0100 0111
Source Code ¶
import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNextInt()){ int i = sc.nextInt(); if(i == 0) break; printJ(i); } } private static void printJ(int i){ int [] bin = binI(i); int num = 0, count=0; while(num<bin.length-1){ if(bin[num] == 1){ if(bin[num+1] == 0){ bin[num+1] = 1; bin[num] = 0; break; }else{ bin[num] = 0; bin[count++] = 1; } } num++; } int result = 0; for(int k=0; k<bin.length;k++){ result += bin[k]*Math.pow(2,k); } System.out.println(result); } private static int [] binI(int i){ int [] temp = new int [21]; int num = 0; while(i>0){ temp[num++] = i%2; i = i/2; } return temp; } }
Trial and error ¶
- Compile error
- "Main" . 깜 poj :)
- "Main" . 깜 poj :)
- Runtime error
- printJ while(num
num+1 index bound of exception .
- printJ while(num
- Wrong answer
- 2^20 = 1048576 1000000 까 기 20 , 1과 0 기 경 고 . 그 결과 1~1000000 4개 1 게 ! ;ㅅ; 길 ㅋㅋ poj ! ㅠㅠ
- 2^20 = 1048576 1000000 까 기 20 , 1과 0 기 경 고 . 그 결과 1~1000000 4개 1 게 ! ;ㅅ; 길 ㅋㅋ poj ! ㅠㅠ
I | 기 값 | 값 |
524288 | 1048576 | 524288 |
786432 | 1048577 | 524289 |
917504 | 1048579 | 524291 |
983040 | 1048583 | 524295 |