結果
問題 |
No.64 XORフィボナッチ数列
|
ユーザー |
![]() |
提出日時 | 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 |
ソースコード
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(); } } }