1333:【例2-2】Blah数集
注意是数组,答案数组中不能有重复数字
q数组是存储答案的
代码:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<string>
#include<cstdlib>
using namespace std;
int a,n;
int q[];
void work(int a,int n)
{
int rear=;
q[]=a; //a一定是第一个数字
int two=,three=;
while(rear<=n)
{
long long t1=q[two]*+,t2=q[three]*+;
int t=min(t1,t2); //保证升序,先存一个小的
if(t1<t2) two++; //确定哪一个情况可以扩列
else three++;
if(t==q[rear-]) //去重处理
continue; //continue就是忽略下面的指令,回到循环开始的while
q[rear++]=t; //rear++,先调用,后自加,也可以理解为下面两行:
// q[rear]=t;
// rear++;
}
cout<<q[n]<<endl; }
int main()
{
while(cin>>a>>n) work(a,n); //由于你不知道到底要处理多少组数据,所以当输入时就工作一次
return ; }