zoukankan      html  css  js  c++  java
  • PAT甲题题解-1059. Prime Factors (25)-素数筛选法

    用素数筛选法即可。

    范围long int,其实大小范围和int一样,一开始以为是指long long,想这就麻烦了该怎么弄。

    而现在其实就是int的范围,那难度档次就不一样了,瞬间变成水题一枚,因为int根号后大小不超过60000。

    即因子的大小不会超过60000,除非本身是质数。

    int 4 -2147438648~+2147438647
    long int 4 -2147438648~+2141438647

    #include <iostream>
    #include <cstdio>
    #include <algorithm>
    #include <string.h>
    #include <cmath>
    
    using namespace std;
    /*
    范围long int,其实大小范围和int一样,一开始以为是指long long,想这就麻烦了该怎么弄。
    而现在其实就是int的范围,那难度当次就不一样了,瞬间变成水题一枚,根号后大小不超过60000。
    int               4        -2147438648~+2147438647
    long int          4        -2147438648~+2141438647
    */
    const int maxn=60000;
    bool isprime[maxn];
    int prime[maxn];
    int cnt=0;
    
    void init(){
        for(int i=0;i<maxn;i++)
            isprime[i]=true;
        for(int i=2;i<maxn;i++){
            if(isprime[i]){
                prime[cnt++]=i;
                for(int j=2*i;j<maxn;j+=i)
                    isprime[j]=false;
            }
        }
    }
    int main()
    {
        int num;
        init();
        scanf("%d",&num);
        printf("%d=",num);
        bool first=true;
        int factor=0;
        for(int i=0;i<cnt;i++){
            int e=0;
            while(num%prime[i]==0){
                e++;
                num=num/prime[i];
                factor++;
            }
            if(e==0)
                continue;
            if(first){
                printf("%d",prime[i]);
                first=false;
            }
            else
                printf("*%d",prime[i]);
            if(e>1)
                printf("^%d",e);
        }
        //以防万一num本身是质数
        if(factor==0)
            printf("%d",num);
        return 0;
    }
    View Code
  • 相关阅读:
    Java 发送http post 请求
    经纬度计算
    js cookie操作
    wdatepicker默认时间为当前时间
    基于ssm的poi反射bean实例
    jbox小型交互表单(ajax)
    点击图片查看大图(纯js)
    查询物理表字段(mysql)
    离线安装 Cloudera ( CDH 5.x )(转载)
    sed命令详解 (转载)
  • 原文地址:https://www.cnblogs.com/chenxiwenruo/p/6511254.html
Copyright © 2011-2022 走看看