結果
| 問題 |
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 |
ソースコード
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();
}
}
}
kuramu