10519 - !! Really Strange !!(數論+高精度)
題目鏈接
題目大意:給你n個圓,每兩個圓都有相交的部分,並且相交的兩個點都唯一的,不能再和別的圓交於這點。問這樣在一個矩形裡的相交的n個圓可以產生多少個新的封閉圖形。看圖會明白的。
解題思路:規律:f(n) = f(n - 1) + 2 ?(n - 1) 最後推的 f(n) = n ? (n - 1) + 2; (n >= 1), 0的時候要特判。n本身就是個大數,結果也是個大數。
代碼:
import java.util.*;
import java.math.*;
import java.io.*;
public class Main {
public static void main(String args[]) {
Scanner cin = new Scanner(System.in);
BigInteger n;
while (cin.hasNext()) {
n = cin.nextBigInteger();
if (n.equals(BigInteger.ZERO))
System.out.println(1);
else
System.out.println(BigInteger.valueOf(2).add(n.multiply(n.subtract(BigInteger.valueOf(1)))));
}
}
}