結果

問題 No.64 XORフィボナッチ数列
ユーザー kuramu
提出日時 2016-01-21 01:27:55
言語 Java
(openjdk 23)
結果
WA  
実行時間 -
コード長 1,904 bytes
コンパイル時間 5,375 ms
コンパイル使用メモリ 79,236 KB
実行使用メモリ 73,792 KB
最終ジャッジ日時 2024-09-21 14:53:54
合計ジャッジ時間 9,466 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other WA * 6 TLE * 1 -- * 4
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args) {
	      BufferedReader stdReader =new BufferedReader(new InputStreamReader(System.in));

	      try {
	    	  String[] temps = stdReader.readLine().split(" ");
	    	  double F0 = Double.parseDouble(temps[0]);
	    	  double F1 = Double.parseDouble(temps[1]);
	    	  double N = Double.parseDouble(temps[2]);
	    	  double F = F0;
	    	  for(double i=2;i<N+1;i++){
	    		  String str1 =Integer.toBinaryString((int)F0);
	    		  String str2 =Integer.toBinaryString((int)F1);
	    		  StringBuilder sb = new StringBuilder();
	    		  if(str1.length()>str2.length()){
	    			  int j=0;
	    			  for(j=0 ;j<str1.length()-str2.length();j++){
	    				  sb.append(str1.charAt(j));
	    			  }
	    			  for(int k=0;k<str2.length();k++){
	    				  if((""+str2.charAt(k)).equals(""+str1.charAt(j))){
	    					  sb.append("0");
	    				  }else{
	    					  sb.append("1");
	    				  }
	    				  j++;
	    			  }
	    		  }else if (str1.length()<str2.length()){
	    			  int j=0;
	    			  for(j=0 ;j<str2.length()-str1.length();j++){
	    				  sb.append(str2.charAt(j));
	    			  }
	    			  for(int k=0;k<str1.length();k++){
	    				  if((""+str1.charAt(k)).equals(""+str2.charAt(j))){
	    					  sb.append("0");
	    				  }else{
	    					  sb.append("1");
	    				  }
	    				  j++;
	    			  }
	    		  }else{
	    			  for(int j=0;j<str1.length();j++){
	    				  if((""+str1.charAt(j)).equals(""+str2.charAt(j))){
	    					  sb.append("0");
	    				  }else{
	    					  sb.append("1");
	    				  }
	    			  }
	    		  }
		    	  F = (double)Integer.parseInt(sb.toString(),2);
		    	  F0 = F1;
		    	  F1 = F;
	    	  }
	    	  System.out.println((int)F);
	    	  } catch (IOException e) {
			e.printStackTrace();
	      }
	}	
}
0