q=5
√+12
,
在**系統下面a0
a1..
.an
等於 ∑ni
=0ai
∗qn−
i
,其中 ai
是0或者1。
現在給出兩個**系統下面的數字,請比較他們的大小。
input
單組測試資料。output第一行有乙個字串a。
第二行有乙個字串b。
按照a0到an的順序輸入。
他們都是非空串,可能有前導0,並且只有0和1組成,長度不超過100000。
如果a>b,輸出》;如果a=b,輸出=;
如果ainput示例
00100q=
5√+1
2這個q肯定不是白給的,在公式中我們要用到q的二次方,q的三次方等等
我們嘗試著手動求一下
q的二次方= 計算一下 = q+1
q3=q*(q2)=q2+q1
q4=q*(q3)=q3+q2
我們會發現第i項是第i-1項加上第i-2項。
我們的ab除了0就是1.
我們會發現如果字元011 等同於 0*q(i ) + 1 *q(i-1) + 1*q(i-2)
而這個公式根據上面的推導,就是 1*q(i) + 0*q(i-1)+0*q(i-2)
所以我們就是不停地這樣堆,形成乙個新的字串,進行比較。
00100 和11
11=100
對比00100和100 相同(忽略前置0),所以=
1000 和111
111 = 100 1 (011化為100)
1000 和1001 相比小於
110 和101
110 = 1000
1000和0101 小於
11和10
11 = 100
10 = 010
大於#include#include#include#includeusing namespace std;
char a[100006];
char b[100006];
int main()
else break;}}
for(int i=0;i<=lenb;i++)
else break;}}
cout<=lenb)
if(flag==1)printf(">");
else
if(a[i]");
if(flag==2)printf("<");
}printf("\n");
}else
if(flag==1)printf("<");
else
if(a[j]");
if(flag==2)printf("<");
}printf("\n");}}
}
51Nod 1491 黃金系統
acm模版 拿到這種題,不用多想,先列舉一些q i,可以發現在某種程度上其符合斐波那契數列 q 0用a表示,q 1用b表示,我們可以發現,每乙個數都可以用xa yb表示,而這裡的x和y在一定程度上都符合斐波那契數列。這也就給了我初始的想法,能否遍歷一遍,遇見連續兩位都是1的時候就減去這兩個1繼而在高...
51 nod 1491 黃金系統 貢獻
1491 系統 codeforces 基準時間限制 1 秒 空間限制 131072 kb 分值 40 難度 4級演算法題 q 5 12,在 系統下面a0 a1.an 等於 ni 0ai qn i 其中 ai 是0或者1。現在給出兩個 系統下面的數字,請比較他們的大小。input 單組測試資料。第一行...
一 黃金思維圈
思維圈真的非常重要,也是每個人應該內化的思維模型。人是一種很奇怪的東西,做什麼事情都會追問意義,尤其是長期堅持做一件事情,必然要搞清楚堅持的意義,否則肯定是堅持不下去,最好的堅持,必然是想清楚了堅持的理由 努力的方向。看的越清,行動就越堅定 有力。ted演講者simon sinek在 偉大的領袖如何...