牛客網 Fibonacci數列(網易)

2022-08-23 14:39:09 字數 696 閱讀 6756

fibonacci數列是這樣定義的: f[0] = 0 f[1] = 1 for each i ≥ 2: f[i] = f[i-1] + f[i-2] 因此,fibonacci數列就形如:0, 1, 1, 2, 3, 5, 8, 13, ...,在fibonacci數列中的數我們稱為fibonacci數。給你乙個n,你想讓其變為乙個fibonacci數,每一步你可以把當前數字x變為x-1或者x+1,現在給你乙個數n求最少需要多少步可以變為fibonacci數。

輸入為乙個正整數n(1 ≤ n ≤ 1,000,000)
輸出乙個最小的步數變為fibonacci數
示例1

15

2

解題思路:找到第乙個大於等於n的fibonacci數,然後求這個數與n的絕對值和前乙個數與n的絕對值,哪個值小,則為需要求的最小步數。

**如下:

#include#include

#include

using

namespace

std;

int fibonacci(int

n) }

int res=min(n-vec[vec.size()-2],vec[vec.size()-1]-n);

return

res;

}int

main()

牛客網 牛牛的數列

題目描述 牛牛現在有乙個n個數組成的數列,牛牛現在想取乙個連續的子串行,並且這個子串行還必須得滿足 最多隻改變乙個數,就可以使得這個連續的子串行是乙個嚴格上公升的子串行,牛牛想知道這個連續子串行最長的長度是多少。一開始看到這個題,總是被繞進 改變乙個數 中,就想說是不是遍歷陣列,然後每個數都嘗試改變...

牛牛的數列 牛客網

牛牛現在有乙個n個數組成的數列,牛牛現在想取乙個連續的子串行,並且這個子串行還必須得滿足 最多隻改變乙個數,就可以使得這個連續的子串行是乙個嚴格上公升的子串行,牛牛想知道這個連續子串行最長的長度是多少。輸入包括兩行,第一行包括乙個整數n 1 n 10 5 即數列的長度 第二行n個整數a i,表示數列...

牛客網 華為機試 020 牛客網

密碼要求 1.長度超過8位 2.包括大小寫字母.數字.其它符號,以上四種至少三種 3.不能有相同長度超2的子串重複 說明 長度超過2的子串 一組或多組長度超過2的子符串。每組佔一行 如果符合要求輸出 ok,否則輸出ng 示例1 021abc9000 021abc9abc1 021abc9000 02...