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
  • 相关阅读:
    Css几个兼容性问题
    一些常用的正则表达式
    超链接hover切换效果
    读取根目录src下的指定配置properties文件内容
    SQL Server查询表结构语句
    单独使用ibatis做事物控制。
    ibatis调用存储过程(无返回参数)
    oracle split函数
    Jquery调用Ajax实现联动使用json
    简单分页插件
  • 原文地址:https://www.cnblogs.com/chenxiwenruo/p/6511254.html
Copyright © 2011-2022 走看看