注意用递归的方式找到数学公式哦~
一致的数据比较多,并且题目提示用递归数学公式,也就是数学上的递推公式;
咱们来分析下,已知的几组数组
闪电星折线 为 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);
递推公式出来了,下面贴代码:
2016-06-05-17:51:21
#include<iostream> using namespace std; int a[10001]; void list() { a[1]=2; for(int i=2;i<=10000;i++) { a[i]=a[i-1]+(i-1)*10-(i-2); } } int main() { int n,N; cin>>N; list(); while(N--) { cin>>n; cout<<a[n]<<endl; } return 0; }