• hdu 5108 Alexandra and Prime Numbers(水题 / 数论)


    题意:

    给一个正整数N,找最小的M,使得N可以整除M,且N/M是质数。

    数据范围:

    There are multiple test cases (no more than 1,000). Each case contains only one positive integer N.
    N1,000,000,000.
    Number of cases with N>1,000,000 is no more than 100.

    思路:

    N=M*prime     故必有M或prime小于等于sqrt(N)。暴力扫一遍就行,,总共要扫两次(其实扫一遍也行,,,,)

    *:bestCoder第一题竟然TLE了,,,跪了,,,爆零啊!

    代码:

    int N;
    
    bool isPrime(int x){
        int m=(int)sqrt(x+0.5);
        rep(i,2,m) if(x%i==0) return false;
        return true;
    }
    
    int main(){
        while(scanf("%d",&N)!=EOF){
            if(N<2){
                puts("0");
                continue;
            }
            int m=(int)sqrt(N+0.5);
            int maxs=-1;
            rep(i,1,m) if(N%i==0 && isPrime(N/i)){
                maxs=(N/i);
                break;
            }
            rep2(i,m,1) if(N%i==0 && isPrime(i)){
                maxs=max(maxs,i);
                break;
            }
            printf("%d
    ",N/maxs);
        }
    }
  • 相关阅读:
    vrf
    安装diskimage-builder制作ironic镜像
    打印bios启动日志
    iproute2更新
    ip link add type vrf报错哦
    ip link add type vrf报错哦
    case 条件语句
    Go项目结构
    MySQL与Python交互
    数据提取之JSON与JsonPATH
  • 原文地址:https://www.cnblogs.com/fish7/p/4115940.html
Copyright © 2020-2023  润新知