2010年9月13日月曜日

PKU Judge Online 1565 Skew Binary

■1565 Skew Binary

□Problem
10120(skew)=1*(25-1)+0*(24-1)+1*(23-1)+2*(22-1)+0*(21-1)
という方法で値を計算せよ.

□Solution
やるだけ.

□Code
  1. package p1565;  
  2.   
  3. import java.util.*;  
  4. import java.lang.*;  
  5. import java.math.*;  
  6.   
  7. public class Main{  
  8.     Scanner sc=new Scanner(System.in);  
  9.   
  10.     void run(){  
  11.         for(;;){  
  12.             String s=sc.next();  
  13.             if(s.equals("0"))  
  14.                 break;  
  15.             long ans=0;  
  16.             long sum=0;  
  17.             for(char c : s.toCharArray()){  
  18.                 int d=c-'0';  
  19.                 ans=ans*2+d;  
  20.                 sum+=d;  
  21.             }  
  22.             ans*=2;  
  23.             ans-=sum;  
  24.             println(""+ans);  
  25.         }  
  26.     }  
  27.   
  28.     void println(String s){  
  29.         System.out.println(s);  
  30.     }  
  31.   
  32.     void print(String s){  
  33.         System.out.print(s);  
  34.     }  
  35.   
  36.     public static void main(String[] args){  
  37.         new Main().run();  
  38.     }  
  39. }  

0 件のコメント: