首页 > 代码库 > UVA10519 - !! Really Strange !!(数论+高精度)

UVA10519 - !! Really Strange !!(数论+高精度)

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

UVA10519 - !! Really Strange !!(数论+高精度)