Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

AnEasyProblem/강소현

From ZeroWiki
Revision as of 08:18, 25 June 2011 by imported>talin0528
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Status

Problem 2453 User talin0528
Memory 3656K Time 375MS
Language Java Result Accepted

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;
	}
}