zoukankan      html  css  js  c++  java
  • 数学问题 | 质因数分解:1096

    因为一个数最大的因数只能是Sqrt(x),所以对于int整数范围(1e9)内,最大的因数不会超过100000(1e5)。所以打一个素数表,然后进行质因数判断。

    很经典的质因数分解题,只做了一点点改动,适合练习。

    需要注意的是n=1的特殊情况判别。

    AC代码:

    #include <stdio.h>
    #include <memory.h>
    #include <math.h>
    #include <string>
    #include <vector>
    #include <set>
    #include <stack>
    #include <queue>
    #include <algorithm>
    #include <map>
    
    #define I scanf
    #define OL puts
    #define O printf
    #define F(a,b,c) for(a=b;a<c;a++)
    #define FF(a,b) for(a=0;a<b;a++)
    #define FG(a,b) for(a=b-1;a>=0;a--)
    #define LEN 100000
    #define MAX (1<<30)-1
    #define V vector<int>
    
    typedef long long ll;
    
    using namespace std;
    
    int prime[LEN];
    int pLen=0;
    
    bool isPrime(int x){
        if(x<=1) return 0;
        for(int i=2;i<=sqrt(x);i++){
            if(x%i==0) return 0;
        }
        return 1;
    }
    
    void build_prime_list(){
        int i;
        FF(i,LEN){
            if(isPrime(i)){
                prime[pLen++]=i;
            }
        }
    }
    
    int num[LEN];
    int cnt[LEN];
    
    int main(){
        int n,len=0;
        n=97532468;
        I("%d",&n);
        if(n==1){
            O("1=1");
            return 0;
        }
        O("%d=",n);
        build_prime_list();
        int i=0;
        while(n>1){
            if(n%prime[i]==0){
                num[len]=prime[i];
                while(n%prime[i]==0){
                    n/=prime[i];
                    cnt[len]++;
                }
                len++;
            }
            i++;
        }
        FF(i,len){
            O("%d",num[i]);
            if(cnt[i]>1){
                O("^%d",cnt[i]);
            }
            if(i!=len-1) O("*");
        }
        return 0;
    }
  • 相关阅读:
    node=day5
    封装异步API
    form表单的name作用
    关于app.use('/static', express.static(path.join(__dirname, 'public')))的理解
    node=day4
    PS切片
    WPF SDK研究 之 数据绑定
    C# WPF DataGrid控件实现三级联动
    wpf中的样式与模板
    WPF : ListBox的几种Template属性
  • 原文地址:https://www.cnblogs.com/TQCAI/p/8569625.html
Copyright © 2011-2022 走看看