题目描述
,刚好符合以下③条规则:①m、n∈{1,2,……,k}②(n²-m*n-m²)²=1③m、n为整数。
输入输出格式
输入格式:
Only one:k。(What?还是失败?)
输出格式:
共两行:第一行是m的最大值,第二行是n的最大值。(What?翻译成功了?)
输入输出样例
输入样例#1:
1995
输出样例#1:
m=987 n=1597
说明
20%数据:k<=100
100%数据:k<=10^8
又是一道水题……
【广告】妈妈再也不用担心我的等级,任天堂游戏机!
从答案中能看出来,这是要求小于K的两个斐波那契数。
然而。。。我不会证,
#include<iostream> #include<cstdio> #include<string.h> #include<algorithm> #include<math.h> using namespace std; #define LL long long LL f[6666],k; int main() { cin>>k; f[1]=1,f[2]=1; int i=3; while(f[i-1]+f[i-2]<=k) f[i]=f[i-1]+f[i-2] ,++i; printf("m=%lld n=%lld",f[i-2],f[i-1]); return 0; }