码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 5019

时间:2014-11-14 00:24:53      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:io   ar   os   sp   for   on   bs   ef   line   

#include <iostream>
#include <fstream>
#include <vector>
#include <cstdio>
#include <string>
#include <cstring>
#include <cstdlib>
#include <algorithm>
#include <cmath>
#include <cfloat>
#include <stack>
#include <set>

using namespace std;

#ifdef DEBUG
ifstream in;
ofstream out;
#endif

#ifdef DEBUG
#define CIN  in
#define COUT  out
#else
#define CIN  cin
#define COUT cout
#endif

typedef long long int ll;

ll x, y, idx, tmp, val, last;
int cases;
vector<ll> store;

int  main(void)
{
#ifdef DEBUG
      string buffer;
      CIN.open("in", ios::in);
      COUT.open("out", ios::out);
      while(getline(CIN, buffer))
            COUT << buffer << "\n";
      COUT << "Out Put" << "\n";
      CIN.close();
      CIN.open("in", ios::in);
#endif
      CIN >> cases;
      for(int caseCurr = 1; caseCurr <= cases; caseCurr++){
            CIN >> x >> y >> idx;
            store.clear();
            while(y){
                tmp = x%y;
                x   = y;
                y   = tmp;
            }
            last = (ll)(sqrt((1.0)*x) + 0.5);
            for(val = 1; val <= last; val++){
                    if(0 == x%val){
                            store.push_back(val);
                            if(val*val != x){
                                store.push_back(x/val);
                        }
                    }
            }
            if(idx > (ll)store.size()){
                    COUT << "-1" << endl;
            }else{
                sort(store.begin(), store.end());
                COUT << store[store.size() - idx] << endl;
            }
        }
    return 0;
}


hdu 5019

标签:io   ar   os   sp   for   on   bs   ef   line   

原文地址:http://my.oschina.net/u/572632/blog/344176

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!