当前位置: 首页 > article >正文

分解质因数(超大规模版)

给出一个正整数N(2<=N<=2147483647),要求将其分解成质因子的连乘积。(质因子连乘时按从小到大顺序)(注:某一正整数的质因子指能整除该数的质数整数,也称质因数或质约数。 如24的因子有1 、2、3、4、6、8、12、24。其中是质数的是2,3 所以24的质因子就是2,3。) 例如:当N=24时 结果为:24=2*2*2*3 又如:当N=13时 (13的质因子只有13一个) 输出结果为:13=13

输入格式

只有一行,即一个整数N

输出格式

只有一行,按格式输出

输入/输出例子1

输入: 38

输出: 38=2*19

浅说:这个问题本身不难,难点是如何避免超时的问题,我们要把判断质数函数进行优化,分解质因数部分进行优化算法~,好啦,下面请看代码实现~

#include<bits/stdc++.h>
using namespace std;
int m;
bool zhishu(int n)  //优化质数函数
{
    if(n == 2) return true;
    if(n % 2 == 0) return false;
    for(int i = 3;i <= sqrt(n);i+=2)
    {
        if(n%i == 0)
            return false;
    }
    return true;
}

int main() {
    cin >> m; // 输入整数 m
    cout << m << "="; // 输出格式,例如 "24="

    if (zhishu(m)) { // 如果 m 是质数,直接输出 m
        cout << m;
        return 0;
    }

    for (int i = 2; i <= m; i++) { // 从 2 开始尝试分解质因数
        if (m % i == 0) { // 如果 i 是 m 的因子
            while (m % i == 0) { // 完全筛去 i 因子
                if (i != m) cout << i << "*"; // 输出因子 i
                m /= i; // 更新 m 的值
            }
        }
        if (zhishu(m)) { // 如果剩下的 m 是质数,直接输出
            cout << m;
            return 0;
        }
    }
    return 0;
}

创造不易,如果对您有所帮助,请一键三连哦~你的支持是我继续创造的动力源泉~


http://www.kler.cn/a/460952.html

相关文章:

  • 供需平台信息发布付费查看小程序系统开发方案
  • Linux C/C++编程-获得套接字地址、主机名称和主机信息
  • 免费又开源:企业级物联网平台的新选择 ThingsPanel
  • BootstrapTable处理表格
  • android studio android sdk下载地址
  • MySQL面试题(updating)
  • 如何解决Eigen和CUDA版本不匹配引起的错误math_functions.hpp: No such file or directory
  • 给弹出框中的某个div赋值
  • 不分页表格界面卡死问题,使用虚拟表格
  • Mixer做的材质导出到Bridge
  • [创业之路-229]:《华为闭环战略管理》-5-平衡记分卡与战略地图
  • 江苏省有一级科技查新机构吗?
  • 单元测试4.0+思路总结
  • STM32 SPI读取SD卡
  • SQL 实战:MySQL JSON 函数解析 – 处理非结构化数据
  • pytorch autograd模块介绍
  • 在Linux上获取MS(如Media Server)中的RTP流并录制为双轨PCM格式的WAV文件
  • 头歌python通关:面向对象程序设计
  • 【机器学习】机器学习的基本分类-自监督学习(Self-supervised Learning)
  • Python自然语言处理利器:SnowNLP模块深度解析、安装指南与实战案例
  • Wend看源码-Java-Collections 工具集学习
  • Java 操作 PDF:从零开始创建功能丰富的PDF文档
  • 32.失焦提示 C#例子 WPF例子
  • 建造者设计模式学习
  • Go 语言中强大的配置管理库—Viper
  • 比较各种排序方法的实现思想、优缺点和适用场合