@inkysakura
2017-04-26T22:14:13.000000Z
字数 523
阅读 1306
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;
}