[关闭]
@inkysakura 2017-04-26T14:14:13.000000Z 字数 523 阅读 1180

lightoj1014

CODE


#include <iostream>
#include <cstring>
#include <vector>
#include <cstdio>
#include <algorithm>
using namespace std;

int nCase;
int p,l;
vector<int>res;
int main()
{
        int t;
        scanf("%d",&t);
        while(t--)
        {
                res.clear();
                scanf("%d %d",&p,&l);
                printf("Case %d: ",++nCase);
                if(p<=2*l){printf("impossible\n");continue;}
                p-=l;
                for(int i=1;1ll*i*i<=p;i++)
                {
                        if(p%i==0)
                        {
                                if(i>l)res.push_back(i);
                                if(p/i!=i&&p/i>l)res.push_back(p/i);
                        }
                }
                int len = res.size();
                sort(res.begin(),res.end());
                for(int i=0;i<len-1;i++)
                        printf("%d ",res[i]);
                printf("%d\n",res[len-1]);
        }
        return 0;
}
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注