zoukankan      html  css  js  c++  java
  • HDU 2136 Largest prime factor 參考代码

    #include <iostream>
    #include <vector>
    #include <cmath>
    using namespace std;
    
    const int MAX=1000001;
    
    bool isPrime[MAX];//isPrime[i]=true表示是素数,false表示不是
    int indexes[MAX]; //存放素数因子的序号
    
    void eraosthenes()
    {
    	fill(isPrime,isPrime+MAX,true);//如果0~MAX都是素数
    	isPrime[0]=isPrime[1]=false; //把0,1筛去
        int n=sqrt((double)MAX);
    
        for(int i=2; i<=n; i++)
        {
    		if (isPrime[i]==false) continue;
    
            for(int j=i*i; j<MAX; j+=i)
            {
    			if (isPrime[j]==false) continue;
                isPrime[j]=false;
            }        
        }
    }
    
    void createIndexes()
    {
        eraosthenes();
        int i,k=1;
        for(i=2; i<MAX; i++)
            if (isPrime[i]==true) indexes[i]=k++;
        
        int m=MAX/2;
        for(i=2; i<=m; i++)
        {
            if (isPrime[i]==true)
            {
                int pos=2*i;
                while(pos<MAX)
                {
                    indexes[pos]=indexes[i];
                    pos+=i;
                }
            }
        }
    }
    
    bool run()
    {
        int n;
        if (scanf("%d",&n)==EOF) return false;
        printf("%d
    ",indexes[n]);
        return true;
    }
    
    int main()
    {
        createIndexes();
        while(run());
        return 0;
    }
    
    


  • 相关阅读:
    MySQL8.0 不能使用group by解决方法
    xtrabackup备份恢复
    pycharm使用
    CMDB开发(三)
    Restful接口规范
    django-rest-framework框架(一)
    CMDB开发(二)
    CMDB开发(一)
    数据可视化之matplotlib模块
    数据分析之pyecharts v1版本
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5337394.html
Copyright © 2011-2022 走看看