Blah数集(信息学奥赛一本通-T1333)
生活随笔
收集整理的這篇文章主要介紹了
Blah数集(信息学奥赛一本通-T1333)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【題目描述】
大數學家高斯小時候偶然間發現一種有趣的自然數集合Blah,對于以a為基的集合Ba定義如下:
????(1)a是集合Ba的基,且a是Ba的第一個元素;
? ??(2)如果x在集合Ba中,則2x+1和3x+1也都在集合Ba中;
????(3)沒有其他元素在集合Ba中了。
現在小高斯想知道如果將集合Ba中元素按照升序排列,第N個元素會是多少?
【輸入】
輸入包括很多行,每行輸入包括兩個數字,集合的基a(1≤a≤50))以及所求元素序號n(1≤n≤1000000)。
【輸出】
對于每個輸入,輸出集合Ba的第n個元素值。
【輸入樣例】
1 100
28 5437
【輸出樣例】
418
900585
【源程序】
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<string> #include<cstdlib> #include<queue> #include<vector> #define INF 0x3f3f3f3f #define PI acos(-1.0) #define N 1000001 #define MOD 123 #define E 1e-6 using namespace std; int q[N]; int main() {int a,n;int x,y;while(cin>>a>>n){int head1=1,head2=1,tail=1;q[tail]=a;tail++;while(tail<=n){int x=q[head1]*2+1;int y=q[head2]*3+1;if(x<y){q[tail]=x;tail++;head1++;}else if(x>y){q[tail]=y;tail++;head2++;}else{q[tail]=x;tail++;head1++;head2++;}}cout<<q[tail-1]<<endl;}return 0; }?
總結
以上是生活随笔為你收集整理的Blah数集(信息学奥赛一本通-T1333)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Catch That Cow(POJ-3
- 下一篇: 车厢调度(信息学奥赛一本通-T1357)