• 高精度乘法


    Description

    Think about a plane: 

    ● One straight line can divide a plane into two regions. 
    ● Two lines can divide a plane into at most four regions. 
    ● Three lines can divide a plane into at most seven regions. 
    ● And so on... 

    Now we have some figure constructed with two parallel rays in the same direction, joined by two straight segments. It looks like a character “M”. You are given N such “M”s. What is the maximum number of regions that these “M”s can divide a plane ? 

     

    Input

    The first line of the input is T (1 ≤ T ≤ 100000), which stands for the number of test cases you need to solve. 

    Each case contains one single non-negative integer, indicating number of “M”s. (0 ≤ N ≤ 10 12)
     

    Output

    For each test case, print a line “Case #t: ”(without quotes, t means the index of the test case) at the beginning. Then an integer that is the maximum number of regions N the “M” figures can divide.
     

    Sample Input

    2 1 2
     

    Sample Output

    Case #1: 2
    Case #2: 19
     
     
    解题思路:在直线划分平面中f(n)=f(n-1)+(n-1)+1;
    推测"M"划分平面中,一次是4条线划分,故f(n)=f(n-1)+4*(n-1)+1;
    整理得f(n)=8*n*n-7*n+1;
    n取值范围为10^12次方,故使用高精度乘法。
     
     
     
     
     
     
     
     
  • 相关阅读:
    XML文件详解以及解析
    Delphi 泛型详解
    Delphi 修改本地日期和时间
    java -> this关键字
    java ->super关键字
    Java -> 构造器(构造方法)
    java -> 方法的重载
    java面向对象->多态
    Java面向对象->接口
    Java面向对象->抽象类
  • 原文地址:https://www.cnblogs.com/chen9510/p/4866479.html
Copyright © 2020-2023  润新知