> 文档中心 > C++ Blah数集

C++ Blah数集


📋 个人简介

🎉大家好,我是3月份新人榜排名第三的 ༺Blog༒Hacker༻
💬支持我:点赞👍+收藏⭐️+留言📝
🌺格言:༺永做优质༒programmer༻

📣Blah数集

🌺题目描述
🍊大数学家高斯小时候偶然间发现一种有趣的自然数集合Blah,对于以a为基的集合Ba定义如下:

🍋a是集合Ba的基,且a是Ba的第一个元素

🍋如果x在集合Ba中,则2x+1和3x+1也都在集合Ba中;

🍋没有其他元素在集合Ba中了。

🍊现在小高斯想知道如果将集合Ba中元素按照升序排列,第N个元素会是多少?

🌺输入格式
🍊一行包括两个正整数,集合的基a(1<=a<=50))以及所求元素序号n(1<=n<=1000000)。

🌺输出格式
🍊一行一个正整数,表示集合Ba的第n个元素值

🍊样例1数据input1 100output418🍊样例2数据input28 5437output900585

🌺数据规模与约定

1≤a≤50,1≤n≤10^6.

💯CODE

#include#define MAXN 10000005using namespace std;int two[MAXN],three[MAXN];int f2,r2,f3,r3;int main(){f2=r2=0;f3=r3=0;int a;cin>>a;int n;cin>>n;two[r2++]=a*2+1;three[r3++]=a*3+1;int k;for(int i=2;i<=n;++i){if(two[f2]<three[f3])k=two[f2++];else     if(two[f2]>three[f3])k=three[f3++];     else{k=two[f2++];f3++;  }two[r2++]=k*2+1;three[r3++]=k*3+1;}cout<<k<<endl;return 0;}

🔮朋友们,点赞是我更新的动力,明天再见,拜拜!!!

C++ Blah数集 创作打卡挑战赛 C++ Blah数集 赢取流量/现金/CSDN周边激励大奖QQ头像吧