zoukankan      html  css  js  c++  java
  • C++质因数分解

    // CPP.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    #include<iostream>
    #include<cstdlib>
    #include<cmath>
    
    using namespace std;
    
    int main()
    {
        int n, i;
        cout << "Please input a integer
    ";
        cin >> n;
        if (n <= 0)
        {
            cout << "Your input is not larger than 0.
    ";
            exit(-1);
        }
        cout << n << "=";
        while (n % 2 == 0 && n != 2)
        {
            cout << "2*";
            n /= 2;
        }
        int val = sqrt(n);
        for (i = 3; i <= val; i += 2)
        {
            while (val >= i)
            {
                if (n % i == 0)
                {
                    cout << i << '*';
                    n /= i;
                    val = sqrt(n);
                }
                else
                    break;
            }
        }
        cout << n << endl;
        return 0;
    }

    从别的地方转载而来的,我还没有验证过这个算法是不是质因数分解的最权威的算法,甚至是不是一个好的算法,不过经过若干的测试,发现结果还是不错的。而且纵览代码,在代码优化的一些细节上还有很有口味价值的。

  • 相关阅读:
    图解表连接
    python 开发学习
    学习路线
    前端开发学习路径(完整版)
    JSON.parse()与JSON.stringify()的区别
    npm介绍和使用
    jQ
    BOM
    javaScript 内置对象-Array数组
    Ajax
  • 原文地址:https://www.cnblogs.com/shuada/p/3477629.html
Copyright © 2011-2022 走看看