zoukankan      html  css  js  c++  java
  • 极值问题

    背景

    小铭的数学之旅2。

    描述

    已知m、n为整数,且满足下列两个条件:
    ① m、n∈1,2,…,K
    ② (n^ 2-mn-m^2)^2=1
    编一程序,对给定K,求一组满足上述两个条件的m、n,并且使m^2+n^2的值最大。例如,若K=1995,则m=987,n=1597,则m、n满足条件,且可使m^2+n^2的值最大。

    格式

    输入格式

    输入仅一行,K的值。

    输出格式

    输出仅一行,m^2+n^2的值。

    样例1

    样例输入1

    1995
    

    样例输出1

    3524578
    

    限制

    每个测试点1秒。

    提示

    Source:
    汕头市FXOI组
    Phoeagon
    ThanX2 Sivon
    For TripleY

    //include<AC自动机>
    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    #include<string>
    long long int a[10001];
    using namespace std;
    int main()
    {
        int m;
        cin>>m;
        a[1]=1;
        a[2]=1;
        int i=3;
        while(a[i-1]<m)
        {
            a[i]=a[i-1]+a[i-2];
            i++;
        }
        if(m<=3)
        cout<<a[i-2]*a[i-2]+a[i-1]*a[i-1];
        else
        cout<<a[i-2]*a[i-2]+a[i-3]*a[i-3];
        return 0;
    }
  • 相关阅读:
    硬件IC汇总
    stm8s103调试注意点
    感悟短句
    USB接口
    液晶屏驱动注意
    四数之和
    所有奇数长度子数组的和
    秋叶收藏集
    删除中间节点
    组合总和
  • 原文地址:https://www.cnblogs.com/sssy/p/6601746.html
Copyright © 2011-2022 走看看