vijos - P1543極值問題(斐波那契數列 + 公式推導 + python)

來源:互聯網
上載者:User

標籤:row   button   body   rda   shared   env   records   斐波那契   value   

P1543極值問題Accepted標籤:[顯示標籤]背景

小銘的數學之旅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 = 1b = 1ans = 2cnt = 2if k == 1:    print 2elif k == 2:    print 5else:    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        


vijos - P1543極值問題(斐波那契數列 + 公式推導 + python)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.