找递推规律之NEUQ 1017:平面切割

1017: 平面切割(特别版)

描述
题目描述:

我们要求的是n条闪电型折线分割平面的最大数目。比如,一条闪电型折线可以将平面分成两部分,两条最多可以将平面分成12部分,三条最多可将平面分成31部分,四条最多则可将一个平面分为59部分。

输入:

输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(0<n<=10000),表示折线的数量。

输出:

对于每个测试实例,请输出平面的最大分割数,每个实例的输出占一行。

样例输入
3
1
2
3
样例输出
2
12
31
提示
描述
题目描述:

我们要求的是n条闪电型折线分割平面的最大数目。比如,一条闪电型折线可以将平面分成两部分,两条最多可以将平面分成12部分,三条最多可将平面分成31部分,四条最多则可将一个平面分为59部分。

输入:

输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(0<n<=10000),表示折线的数量。

输出:

对于每个测试实例,请输出平面的最大分割数,每个实例的输出占一行。

提交
1
#include<stdio.h>
2
#define N 10000
3
int count(int n);
4
5
int main()
6
{
7
    int t,n;
8
    scanf("%d",&t);
9
    while(t--)
10
    {
11
        scanf("%d",&n);
12
        printf("%d\n",count(n));
13
    }
14
}
15

      平面切割这个问题最一开始我想了很久没有找出来规律,后来发现我是卡在了闪电折线的图形。以及数最多可以将平面分成的最多份数。参考来源:https://www.cnblogs.com/dearvee/p/5561258.html

注意用递归的方式找到数学公式哦~

一致的数据比较多,而且题目提示用递归数学公式,也就是数学上的递推公式;

我们来分析下,已知的几组数组        

     闪电星折线   为 n=1 时  平面被分成C=2 份

  

n=2   C=12  情况

 

有前两组数据,及几何图形,可推知,n每增加1,C的增加跟n正相关,即每次C的增加数量是在前一次C值的基础上增加特定的值,即前后两项无倍数关系

下面假设  递推公式  C[i]=C[i-1];

下面来代入题目中给的 数据

n=2;

C[2]=C[1]=2       而实际C[2]=12;  前者少1*10-0;

n=3;

C[3]=C[2]=12     而实际C[3]=31;   前者少2*10-1;  

n=4;

C[4]=C[3]=31     而实际C[4]=59;   前者少3*10-2;

很容易得到正确的递推公式为C[i]=C[i-1]+10*(i-1)-(i-2);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值