結果

問題 No.64 XORフィボナッチ数列
ユーザー chiho_miyako
提出日時 2015-04-11 22:15:10
言語 Java
(openjdk 23)
結果
AC  
実行時間 131 ms / 5,000 ms
コード長 1,915 bytes
コンパイル時間 1,987 ms
コンパイル使用メモリ 77,576 KB
実行使用メモリ 41,408 KB
最終ジャッジ日時 2024-07-04 13:39:09
合計ジャッジ時間 4,359 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 11
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
Scanner koko = new Scanner(System.in);
long zero = koko.nextLong();
long one = koko.nextLong();
long n = koko.nextLong();
if(n%3==0){
System.out.println(zero);
}else if(n%3==1){
System.out.println(one);
}else{
String tz = Long.toBinaryString(zero);
String to = Long.toBinaryString(one);
int min = Math.min(tz.length(),to.length());
int max = Math.max(tz.length(),to.length());
char[] ans = new char[max];
if(tz.length()>to.length()){
for(int i=0; i<min; i++){
if(tz.charAt(max-1-i)==to.charAt(min-1-i)){
ans[max-1-i] = '0';
}else{
ans[max-1-i] = '1';
}
}
for(int i=0; i<max-min; i++){
ans[i] = tz.charAt(i);
}
}else if(tz.length()<to.length()){
for(int i=0; i<min; i++){
if(tz.charAt(min-1-i)==to.charAt(max-1-i)){
ans[max-1-i] = '0';
}else{
ans[max-1-i] = '1';
}
}
for(int i=0; i<max-min; i++){
ans[i] = to.charAt(i);
}
}else{
for(int i=0; i<min; i++){
if(tz.charAt(min-1-i)==to.charAt(max-1-i)){
ans[max-1-i] = '0';
}else{
ans[max-1-i] = '1';
}
}
}
String an = String.valueOf(ans);
long a = Long.parseLong(an,2);
System.out.println(a);
}
}
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0