zoukankan      html  css  js  c++  java
  • 因式分解

    第一种,试除法

    第二种,先求质数,在试除质数

    #include <iostream>
    #include <vector>
    #include <cstring>
    #include <cstdio>
    #include <algorithm>
    #include <cmath>

    using namespace std;

    std::vector<int> res;
    std::vector<int> primes;
    int len;
    void input(){
    cin >> len;
    }

    void calc(){
    int nn = len;
    std::vector<int>().swap(res);
    for (int i = 2 ; i <= len ; i++){
    //cout << nn << " " << i<<endl;
    if (nn == 1){
    return;
    }
    if (nn == i){
    res.push_back(i);
    return;
    }
    while(nn%i == 0){
    res.push_back(i);
    nn/=i;
    }
    }
    }

    void calc2(){
    int nn = len;
    std::vector<int>().swap(res);
    for (int i = 0 ; i <= primes.size() ; i++){
    //cout << nn << " " << i<<endl;
    if (nn == 1){
    return;
    }
    if (nn == primes[i]){
    res.push_back(primes[i]);
    return;
    }
    while(nn%primes[i] == 0){
    res.push_back(primes[i]);
    nn/=primes[i];
    }
    }
    }

    void output(){
    cout << len<<":";
    for (int i = 0 ; i < res.size(); i++){
    cout << res[i] << " ";
    }
    cout << endl;
    }

    void getPrime0(int n){
    bool m;
    for(int i = 2; i <= n; i ++){
    m = true;
    for(int j = 0; j < primes.size(); j++){
    if(i % primes[j] == 0){
    m = false;
    break;
    }
    }
    if(m){
    primes.push_back(i);
    }
    }
    // for(int i = 0 ; i < primes.size() ; i++){
    // cout << primes[i]<< " ";
    // }
    // cout << endl;

    }

    int main(){
    int a = 99999;
    getPrime0(a);
    while(true)
    {
    input();
    //calc();
    calc2();
    output();
    }

    return 0;
    }

  • 相关阅读:
    Maven进价:Maven构建系列文章
    mybatis.net insert 返回主键
    IIS限制ip访问
    mybatis学习资源
    MVC4发布到IIS,出现HTTP 错误 404.0
    ElasticSearch 7.4.2 Root mapping definition has unsupported parameters
    钉钉网页版全屏
    sudo go 找不到命令
    ubuntu安装navicat
    golang 自动下载所有依赖包
  • 原文地址:https://www.cnblogs.com/huangshiyu13/p/5878022.html
Copyright © 2011-2022 走看看