>description
我們按以下方式產生序列:
1、 開始時序列是: 「1」 ;
2、 每一次變化把序列中的 「1」 變成 「10」 ,「0」 變成 「1」。
經過無限次變化,我們得到序列"1011010110110101101…"。
總共有 q 個詢問,每次詢問為:在區間a和b之間有多少個1。
任務 寫乙個程式回答q個詢問
>input
第一行為乙個整數q,後面有q行,每行兩個數用空格隔開的整數a, b。
>output
共q行,每行乙個回答
>sample input
12 8
>sample output
41 <= q <= 5000
1 <= a <= b < 2^63
>解題思路
列舉以後可以發現規律:
每第(i)次變化得來的數列為第(i-1)次+第(i-2)次——也就是斐波那契數列
所以,相同地,第(i)個數列中1的數量為第(i-1)次+第(i-2)次。
由於a ~ b可以看為:(1~b) - (1 ~ a-1),字首和,
然後,1~i的數列中1的個數,可以看成是經過某兩次變化得來的1的個數的和(a+b),其中這分別兩次變化得來的數列的長度的和必須為i。
>**
#include
#include
using namespace std;
int n;
long long aa,bb,f[
100]
,c[100];
long long ooo
(long long cc)
int main()
return0;
}
斐波那契 遞迴 無限序列
我們按以下方式產生序列 1 開始時序列是 1 2 每一次變化把序列中的 1 變成 10 0 變成 1 經過無限次變化,我們得到序列 1011010110110101101 總共有 q 個詢問,每次詢問為 在區間a和b之間有多少個1。任務 寫乙個程式回答q個詢問 第一行為乙個整數q,後面有q行,每行兩...
Fibonacci斐波那契數列序列
著名的斐波拉契數列 fibonacci 除第乙個和第二個數外,任意乙個數都可由前兩個數相加得到 1,1,2,3,5,8,13,21,34,def fibonacci n if n 1 res 1 if n 2 res 1 if n 2 res fibonacci n 1 fibonacci n 2 ...
斐波那契數列 斐波那契數列python實現
斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 在數學上,斐波納契數列以如下被以遞推的方法定義 f 1 ...