p2705_fib数列.cpp
来自「高手写的所有acm例程 在acm.zju.edu.cn 上的题目的例程」· C++ 代码 · 共 47 行
CPP
47 行
#include <iostream>
#define Limit 1000000001
#define MAXN 100000
using namespace std;
typedef long long int64;
int N;
int64 f [MAXN] , a , b;
void first ();
int64 check ();
main ()
{
first ();
while ( cin >> a >> b )
cout << check () << endl << endl;
}
int64 check ()
{
int64 Ret = 0 , t , Tot = a * b;
for ( int i = 0; i < N; i ++ ) {
if ( a % ( f [i] + f [i + 1] ) == 0 ) {
t = Tot - b * a / ( f [i] + f [i + 1] );
if ( t > Ret ) Ret = t;
}
if ( b % ( f [i] + f [i + 1] ) == 0 ) {
t = Tot - a * b / ( f [i] + f [i + 1] );
if ( t > Ret ) Ret = t;
}
}
return Ret;
}
void first ()
{
int i;
f [0] = f [1] = 1;
for ( i = 2; ; i ++ ) {
f [i] = f [i - 2] + f [i - 1];
if ( f [i] > Limit ) break;
}
N = i;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?