lightoj 1014 求一个数的所有因子

来源:互联网 发布:淘宝买水果靠谱吗 知乎 编辑:程序博客网 时间:2024/04/30 01:40

这个题一开始我求了k的所有质因子和其指数的值
用dfs求得所有因子但是超时了…
百度一下暴力…
好了记住以后这种破玩意就是暴力…
mdzz

#include<iostream>#include<cstdio>#include<memory.h>#include<algorithm>#include<iomanip>#include<map>using namespace std;long long yinshu[100001];int main(){    int T;    cin>>T;    int u=0;    while(T--)    {        memset(yinshu,0,sizeof(yinshu));        long long yiyi=0;        long long n,m;        scanf("%lld%lld",&n,&m);        long long k=n-m;        if(k<=0)        {            printf("Case %d:",++u);            printf(" impossible");            printf("\n");            continue;        }        long long yyi=0;//      yinshu[++yyi]=1;//      yinshu[++yyi]=k;        for(long long a=1;a*a<=k;a++)        {            if(k%a==0)            {                if(a*a==k)                {                    yinshu[++yyi]=a;                    continue;                }                yinshu[++yyi]=a;                yinshu[++yyi]=k/a;//这里之所以不能预先处理是因为当k为0的时候回加进去两个1....             }        }        sort(yinshu+1,yinshu+1+yyi);        printf("Case %d:",++u);        long long tt=0;        for(long long a=1;a<=yyi;a++)           {            if(yinshu[a]>m)            {                printf(" %lld",yinshu[a]);                tt=1;            }        }        if(tt==0)        {            printf(" impossible");        }        printf("\n");    }    return 0;}
0 0
原创粉丝点击