东华OJ-进阶题-10-分解质因数(C++)

  • 问题描述
    求出区间a,b中所有整数的质因数分解。
  • 输入说明
    输入两个整数a,b。

2<=a<=b<=10000

  • 输出说明
    每行输出一个数的分解,形如k=a1a2a3...(a1<=a2<=a3...,k也是从小到大的)(具体可看范例)
  • 输入范例
cpp 复制代码
3 10
  • 输出范例
cpp 复制代码
3=3
4=2*2
5=5
6=2*3
7=7
8=2*2*2
9=3*3
10=2*5

感想:如果是合数的话,得分解到最后一个数是质数。
代码如下:

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

bool isPrime(int n) {
    if(n<2) return false;
    if(n==2) return true;
    if(n%2==0) return false;
    for(int i = 3; i*i<=n; i+=2)
        if(n%i==0)
            return false;
    return true;
}

int main() {
    int a,b;
    cin>>a>>b;

    for(int i = a; i<=b; ++i) {
        int temp = i;
        if(isPrime(temp))
            cout<<temp<<"="<<temp;
        else {
            cout<<temp<<"=";
            bool single = true;
            for(int j = 2; j*j<=i; ++j) {
                if(temp%j==0) {
                    if(!single) cout<<"*";
                    cout<<j;
                    temp=temp/j;
                    j=1;
                    single = false;
                    if(isPrime(temp)){
                        cout<<"*"<<temp;
                        break;
                    }
                }
            }
        }
        cout<<endl;
    }

    return 0;
}
相关推荐
s_w.h2 分钟前
【 计网 】序列化与反序列化
linux·服务器·网络·算法·bash
信奥卷王23 分钟前
2025年09月GESPC++五级真题解析(含视频)
算法
白狐_79823 分钟前
408 数据结构|外部排序:流程与 k 路归并
数据结构·算法
汉克老师27 分钟前
CSP-J 初赛(以满分为目标):第二十七课 《图的遍历——BFS广度优先搜索——像“水波纹”一样,一层一层地搜索》
c++·csp-j·小学生·学c++编程
闻缺陷则喜何志丹29 分钟前
【动态规划】P3609 [USACO17JAN] Hoof, Paper, Scissor G
c++·算法·动态规划·洛谷
汉克老师1 小时前
CSP-J 初赛(以满分为目标):第二十六课 《图的遍历——DFS深度优先搜索——从“树的先序遍历”走进真正的图世界》
c++·csp-j·小学生·学c++编程
程序猿编码1 小时前
基于GGML的C++17轻量化语音推理引擎:说话人识别与语音分析技术全解析
开发语言·c++·pytorch·深度学习·神经网络·大模型
leihefeng1 小时前
手写数字识别:KNN vs 逻辑回归实战
python·算法·机器学习·逻辑回归·scikit-learn
影视飓风TIM1 小时前
C++哈希表深度剖析:冲突处理、rehash、迭代器与unordered容器封装
c++·哈希算法·散列表
全栈技术负责人2 小时前
DeepSeek Harness 业务工具权限插件 dsh-tool-permission设计思路
网络·算法·ai·ai编程