2013-team5/andrew/13/F
从 Trac 迁移的文章
这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。
原文章内容如下:
{{{
import java.util.*;
import java.math.*;
import java.io.*;
public class Main {
static public void main(String args[]) throws Exception{
Scanner sc = new Scanner(new File("puzzle.in"));
PrintWriter pw = new PrintWriter(new File("puzzle.out"));
BigInteger a, b, c, ret;
a = sc.nextBigInteger();
b = sc.nextBigInteger();
c = sc.nextBigInteger();
a = solve(a);
b = solve(b);
c = solve(c);
ret = a.add(b).add(c);
pw.println(ret);
sc.close();
pw.close();
}
static BigInteger solve(BigInteger n) {
if (n.equals(BigInteger.ONE)) return BigInteger.ZERO;
BigInteger ret = solve(n.add(BigInteger.ONE).shiftRight(1));
ret = ret.add(BigInteger.ONE);
return ret;
}
}
}}}
import java.util.*;
import java.math.*;
import java.io.*;
public class Main {
static public void main(String args[]) throws Exception{
Scanner sc = new Scanner(new File("puzzle.in"));
PrintWriter pw = new PrintWriter(new File("puzzle.out"));
BigInteger a, b, c, ret;
a = sc.nextBigInteger();
b = sc.nextBigInteger();
c = sc.nextBigInteger();
a = solve(a);
b = solve(b);
c = solve(c);
ret = a.add(b).add(c);
pw.println(ret);
sc.close();
pw.close();
}
static BigInteger solve(BigInteger n) {
if (n.equals(BigInteger.ONE)) return BigInteger.ZERO;
BigInteger ret = solve(n.add(BigInteger.ONE).shiftRight(1));
ret = ret.add(BigInteger.ONE);
return ret;
}
}