zoukankan      html  css  js  c++  java
  • POJ_1365_Prime_Land

    //懒得解释
    #include <iostream>
    #include <cstring>
    #include <cmath>
    #include <cstdio>
    using namespace std;
    #define Max 110000
    #define Size 100000
    #define Type int
    bool isPrime[Max];
    Type primeTable[Max];
    Type expCount[Max];
    
    void primeRadiation(const Type& size){
        memset(isPrime,true,sizeof(isPrime));
        isPrime[1]=false;
        for(Type i=4;i<=size;i+=2) isPrime[i]=false;
        for(Type i=3;i<=sqrt(size);++i){
            if(isPrime[i]==true){
                const Type step=2*i;
                for(Type j=i*i;j<=size;j+=step) isPrime[j]=false;
            }
        }
    }
    
    int setPrimeTable(const Type& size){
        memset(primeTable,0,sizeof(primeTable));
        int index=0;
        for(int i=1;i<=size;++i){
            if(isPrime[i]==true){
                index++;
                primeTable[index]=i;
            }
        }
        return index;
    }
    
    void countExp(Type num){
        memset(expCount,0,sizeof(expCount));
        Type index=1;
        while(num!=1){
            if(num%primeTable[index]==0){
                num/=primeTable[index];
                expCount[index]++;
            }
            else{
                index++;
            }
        }
    }
    
    int main(){
        char c;
        Type base;
        Type exp;
        primeRadiation(Size);
        Type t=setPrimeTable(Size);
        while(1){
            Type ans=1;
            cin>>base;
            if(base==0) break;
            cin>>exp;
            ans*=pow(base,exp);
            while(1){
                c=getchar();
                if(c=='
    ') break;
                cin>>base;
                cin>>exp;
                ans*=pow(base,exp);
            }
            Type temp=ans-1;
            countExp(temp);
            for(Type i=temp;i>=1;--i){
                if(expCount[i]!=0) cout<<primeTable[i]<<" "<<expCount[i]<<" ";
            }
            cout<<endl;
        }
        return 0;
    }


  • 相关阅读:
    Unity-JobSystem
    Unity-ECS-实践
    Unity-Editor
    网络编程-HTTPS
    网络编程-UDP、TCP
    Cast, OfType
    DataGrid
    bat 开机自动执行脚本
    bat 单行输出彩色信息
    工厂模式
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3369563.html
Copyright © 2011-2022 走看看