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;}
🔮朋友们,点赞是我更新的动力,明天再见,拜拜!!!
创作打卡挑战赛
赢取流量/现金/CSDN周边激励大奖QQ头像吧