2009-05-13 19:07:44來源不明

極值問題

作法:數學(費氏數列)

 (n*n-m*n-m*m)^2=1
 (n^2-mn+1/4*m^2-5/4*m^2)^2=1
 [(n-1/2*m)^2-sqrt(5)/2*m^2]^2=1
 [(n-(1/2+sqrt(5)/2)*m)*(n-(1/2-sqrt(5)/2)*m)]^2=1
大致上就是這樣 這樣的形式符合費氏數列(解遞迴解時候的公式...因為我還太弱了 就這樣...)

/**********************************************************/

#include<stdio.h>
#include<stdlib.h>
main()
{
 int k;
 int math[50]={0},a;
 math[0]=1;math[1]=1;
 for(a=2;a<50;a++)
  math[a]=math[a-1]+math[a-2];
 while(scanf("%d",&k)==1)
  {
    for(a=1;a<50;a++)
     if(math[a]>k)  break;
    printf("%d %d\n",math[a-2],math[a-1]); 
  }
 return 0;
}