poj 1287

来源:互联网 发布:医院挂号 知乎 编辑:程序博客网 时间:2024/05/13 15:24
  方法一利用线段、交点、区域的关系,可以推出递推式子

f(n)=f(n-1)+9n-8

f(0)=1

方法二利用平面Euler式推出公式

f(n)=(9*n+2)*(n-1)/2+2;

方法三:猜测公式为2次多项式,然后手算前3个,带入f(x)=ax2+bx+c,求出a,b,c


方法一代码:

 

#include<iostream>

using namespacestd;

int n;

int f(int n)

{


 

    if(n==0) return 1;

return f(n-1)+9*n-8;

}


int main()

{

while(cin>>n)

{

cout<<f(n)<<endl;

}

return 0;

}


0 0
原创粉丝点击