light oj 1014

来源:互联网 发布:福建广电网络机顶盒 编辑:程序博客网 时间:2024/06/03 23:33

题意:c * q + m == n,已知n,m,求q的可能,q>m;


#include<bits/stdc++.h>using namespace std;typedef long long ll;#define INF 0x3f3f3f3fconst int maxn = 5000000 + 10;int main(){    ll n,m;    int Tcase;    scanf("%d",&Tcase);    for(int ii = 1; ii <= Tcase; ii ++)//    while( ~ scanf("%d%d"),&n,&m)    {        scanf("%lld%lld",&n,&m);        int t = n - m;        printf("Case %d:",ii);        if(n <= m)        {            puts(" impossible");            continue;        }        set<ll>s;        for(ll i = 1; i *i <= t; i ++)        {            if(t % i == 0)            {                if(i > m)                    s.insert(i);                if(t /i > m)                    s.insert(t/i);            }        }//        if(i *i == t)//            s.insert(i);        if(s.size() == 0)        {            cout << " impossible" << endl;            continue;        }        set<ll>::iterator it;        for(it = s.begin(); it != s.end(); it ++)        {            printf(" %lld",*it);        }        printf("\n");    }    return 0;}