• 高精度乘法


    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次方,故使用高精度乘法。
     
     
     
     
     
     
     
     
  • 相关阅读:
    再说LZ77压缩算法
    关于LZ77压缩算法
    Qt 简易设置透明按钮
    MFC edit 控件 自动将光标置于想要输入内容的位置
    事件和委托
    2016/06/07
    2016/04/28
    2016/4/27
    2016/04/26
    重载和重写(Overload, Override)
  • 原文地址:https://www.cnblogs.com/chen9510/p/4866479.html
Copyright © 2020-2023  润新知