LightOJ-1014-Ifter Party

来源:互联网 发布:cmd查找他机mac 编辑:程序博客网 时间:2024/05/21 12:49

题目传送门


题意:给定两个数p,l,求所有x,使p%x==l。

思路:注意l>x。

#include <bits/stdc++.h>using namespace std;int ans[10100];int main(void){    int T, cas=1;    scanf("%d", &T);    while (T--)    {        int p, l, num = 0;        scanf("%d %d", &p, &l);        int m = p-l;        if (l>=m)        {            printf("Case %d: impossible\n",cas++);            continue;        }        printf("Case %d: ",cas++);        int tmp = sqrt(m);        for (int i = 1; i <= tmp; i++)        {            if (m%i==0)            {                if (m/i!=i)                    ans[num++] = m/i;                ans[num++] = i;            }        }        sort(ans, ans+num);        for (int i = 0; i < num; i++)        {            if (ans[i]>l)                printf("%d%c", ans[i], i==num-1?'\n':' ');        }    }    return 0;}
原创粉丝点击