C++分解质因数

这段C++代码实现了一个整数分解质因数的功能。程序接收一个整数N作为输入,输出其质因数分解结果。例如输入24,输出"24=222*3"。算法采用循环除法,从2开始逐个尝试除数,若能整除则记录该因数并继续分解,直到N变为1。对于特殊值1会直接输出"1=1"。程序使用isFirst标志来正确处理因数间的乘号连接。

输入

24

输出

24=2*2*2*3

cpp 复制代码
#include <iostream>
using namespace std;
int main(){
    int N;
    cin>>N; 
    cout<<N<<"=";
    if(N==1){
        cout<<"1"<<endl;
        return 0;
    } 
    bool isFirst=true;
    for(int i=2;i*i<=N;){
        while(N%i==0){
            if(isFirst){
                cout<<i;
                isFirst=false;
            }else{
                cout<<"*"<<i;
            }
            N/=i;
        }
        i++;
    }
    if(N>1){
        if(isFirst){
            cout<<N;
        }else{
            cout<<"*"<<N;
        }
    }
    return 0;
}
 
相关推荐
LuminousCPP10 小时前
数据结构-双向循环链表
c语言·数据结构·笔记·链表
不爱学英文的码字机器10 小时前
推荐算法梳理,六种主流模型与九步训练流程
算法·机器学习·推荐算法
白狐_79811 小时前
408数据结构第5章:树与二叉树②——遍历、线索树、森林与哈夫曼
数据结构·算法·深度优先
zh路西法11 小时前
【3D SLAM源码解读系列】(二)Small_gicp——5 个积木搭出最优点云配准
c++·pcl·icp·fastgicp·smallgicp·gicp
Jasmine_llq13 小时前
《P15800 [GESP202603 六级] 选数》
数据结构·long long·逆序线性 dp·从后往前推导·转移严格遵循题意·防止总和溢出·复杂度on
fpcc13 小时前
ubuntu26环境下的开发环境安装处理
c++·并行编程
疯狂打码的少年13 小时前
【数据结构】串(字符串):基本概念与存储
数据结构·笔记
致Great14 小时前
科研人的 AI,不该只回答问题:我用字节TraeWork 跑了一遍真实研究任务
算法
纵有疾風起14 小时前
线性表的定义与基本操作 — 从逻辑结构到 ADT 接口
数据结构·算法·408·线性表·adt
charlie11451419115 小时前
Cinux · 第一次跳进 Ring 3:用户态与特权隔离
开发语言·c++·操作系统·开源项目