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)))));
}
}
}