1333:【例2-2】Blah数集

简介: 1333:【例2-2】Blah数集

时间限制: 1000 ms         内存限制: 65536 KB

【题目描述】

大数学家高斯小时候偶然间发现一种有趣的自然数集合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

1. #include<iostream>
2. #include<stdio.h>
3. #include<cmath>
4. using namespace std;
5. int a,n;
6. int q[10000002];
7. void work(int a,int n){
8.  int rear=2;
9.  q[1]=a;
10.   int two=1,three=1;
11.   while (rear<=n){
12.     long long t1=q[two]*2+1,t2=q[three]*3+1;
13.     int t=min(t1,t2);
14.     if(t1<t2)two++;
15.     else three++;
16.     if(t==q[rear-1]) continue;
17.     q[rear++]=t;
18.   }
19.   cout<<q[n]<<endl;
20. }
21. int main()
22. {
23.   while(cin>>a>>n) work(a,n);
24.   return 0;
25.  }


相关文章
|
数据安全/隐私保护
1356:计算(calc)
1356:计算(calc)
284 0
1358:中缀表达式值(expr)
1358:中缀表达式值(expr)
354 0
1334:【例2-3】围圈报数
1334:【例2-3】围圈报数
133 0
1331:【例1-2】后缀表达式的值
1331:【例1-2】后缀表达式的值
295 0
|
API C#
C# 企业微信消息推送对接
C# 企业微信消息推送对接
1374 0
C# 企业微信消息推送对接
|
11天前
|
数据采集 人工智能 安全