zoukankan      html  css  js  c++  java
  • vijos

    P1543极值问题

    背景

    小铭的数学之旅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

    对于这道题目首先我们得找到项与列的关系

    于是能够得到a[i]  = 3 * a[i - 1] - a[i - 2]{当中i表示的是斐波那契数列的项数}

    如此就能够解决这个问题了


    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    
    k = int(raw_input())
    a = 1
    b = 1
    ans = 2
    cnt = 2
    if k == 1:
        print 2
    elif k == 2:
        print 5
    else:
        while True:
            if ans > k:break
            t = a
            a = a + b
            b = t
            ans += a
            cnt += 1
        c = 1
        d = 1
        for i in range(cnt):
            t = c
            c = c * 3 - d
            d = t
        print c
    
            
    


  • 相关阅读:
    实验四
    实验三
    实验二
    实验一
    6
    5
    4
    3
    shiyan2
    实验1
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/6922512.html
Copyright © 2011-2022 走看看