zoukankan      html  css  js  c++  java
  • 关于三角形把平面分成几块的问题

    杭电ACM第1249题,关于N个三角形能把平面分成几块的问题。

    递推公式:
    t(1)=2
    t(n)=t(n-1)+6*(n-1)

    杭电1249代码如下:

    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
        int t;
        scanf("%d",&t);
        while(t--)
        {
            int n;
            scanf("%d",&n);
            long int a[10001];
            a[1]=2;
            int i;
            for(i=2;i<=n;i++)
            {
                a[i]=a[i-1]+6*(i-1);
            }
            printf("%ld\n",a[n]);
        }
        return 0;
    }

    要巧妙的利用数组来解决一些简单的问题,有时比函数更好用很多。

    #include<stdio.h>

    #include<stdlib.h>

    long f(long a)

    {    

    if(a==1)        

    return 2;   

      else        

    return f(a-1)+6*(a-1);

    }

    int main()

    {    

    int x;    

    long n;

        scanf("%d",&x);    

    while(x--)     {      

       scanf("%d",&n);        

    printf("%ld\n",f(n));

        }    

    return 0;

    }

  • 相关阅读:
    「2019冬令营提高组」原样输出
    FJWC2019
    P2763 试题库问题
    P3979 遥远的国度
    P2754 [CTSC1999]家园
    P1251 餐巾计划问题
    P1382 楼房
    P1384 幸运数与排列
    P4294 [WC2008]游览计划
    P3345 [ZJOI2015]幻想乡战略游戏
  • 原文地址:https://www.cnblogs.com/lovewzh/p/2983179.html
Copyright © 2011-2022 走看看