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)))));
}
}
}
时间: 2024-10-09 07:49:27