time limit: 1 second
memory limit: 128 mb
【問題描述】
求所有可以只用1和00拼成的長度為n的二進位制數的個數除以15746的餘數。
比如當n=4的時候,有5個可能的二進位制數:0011,0000,1001,1100,1111。
【資料範圍】
1≤n≤1000000
【輸入格式】
第一行乙個正整數n。
【輸出格式】
輸出所有可以只用1和00拼成的長度為n的二進位制數的個數除以15746的餘數。
sample input
sample output
【題目鏈結】:
【題解】
n=1 1
n=2 11 00
n=3 100 001 111
n=4 1100 0000 0011 1001 1111
即 n=1 1
n=2 2
n=3 3
n=4 5
發現規律f[n] = f[n-1]+f[n-2];
即 在長度為n-2的所有二進位制後面再加兩個0;
在長度為n-1的所有二進位制後面再加1個1;
如11+00=1100 00+00=0000
100+1=1001 001+1=0011 111+1=1111
而這正是n=5的答案;
【完整**】
#include
#define ll long long
#define rep1(i,a,b) for (int i = a;i <= b;i++)
using
namespace
std;
#define pb push_back;
int main()
else
if (n==2)
else
printf("%i64d\n",c);
}return
0;}
二進位制 二進位制起源
現代通訊技術的基礎是二進位制編碼。早在1865年麥克斯韋總結出麥克斯韋方程組之前,美國人摩斯 morse 於1837年發明了摩斯電碼和有線電報。有線電報的出現,具有劃時代的意義 它讓人類獲得了一種全新的資訊傳遞方式,這種方式 看不見 摸不著 聽不到 完全不同於以往的信件 旗語 號角 烽火,這也是二進...
水題T,二進位制轉16進製制
輸入乙個2進製的數,要求輸出該2進製數的16進製表示。在16進製制的表示中,a f表示10 15 input第1行是測試資料的組數n,後面跟著n行輸入。每組測試資料佔1行,包括乙個以0和1組成的字串,字串長度至少是1,至多是10000outputn行,每行輸出對應乙個輸入。sample input ...
判斷二進位製半整數(二進位制)
10年後,tokitsukaze大佬已經變成了年收入超百萬的的精英程式設計師,家裡沒錢也沒礦的teitoku,找tokitsukaze大佬借1000塊錢,然後tokitsukaze大佬說,借你1024吧,湊個整數。沒錯在2進製下1024是 二進位制整數 乙個正整數滿足其值為2的k次方 k為正整數 我...