您的位置:首页 > 其它

POJ 2591

2015-06-11 11:40 323 查看
#include<iostream>
#include<stdio.h>
#define MAXN  10000001
using namespace std;

int a[MAXN];
void give_set();
int min(int i,int j);
int main()
{
//freopen("acm.acm","r",stdin);
give_set();
int num;
while(cin>>num)
{
cout<<a[num-1]<<endl;
}
}

void give_set()
{
a[0] = 1;
int m;
int len = 1;
int x;
int y;
x = 0;
y = 0;
while(len < MAXN)
{
m = min(2*a[x]+1,3*a[y]+1);
if(m == 2*a[x]+1)
++ x;
if(m == 3*a[y]+1)
++ y;
a[len++] = m;
}
}
int min(int a,int b)
{
return a < b ? a : b;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: