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

分解质因子

分解质因子

题目描述

将一个正整数分解质因数,例如,输入90,输出2 3 3 5。

输入

输入一个正整数n(2<=n<=2000)。

输出

从小到大输出n的所有质因子,每两个数之间空一格。

样例输入

20

样例输出

2 2 5

这道题感觉挺难办的猛一看,质数判断我会,但让我分解质因数,总感觉有些复杂

等到真正写出来,就感觉,嘶,这小东西挺别致哈。

这个我从数的角度简单分析一下,如果这个数可分解为若干个质因数,那首先分解出来的应该是2、3、5这些值较小的质数,而且往往会分解出来多个,所以可以进行一个循环判断,并在每次分解之后,原来值的规模会缩减对应的倍数,比如20分解出两个2之后,原值缩减为5;若遍历值大于原值开方,就可以结束了,实际上循环结束的判断与质数判断有异曲同工之妙。当然,也有可能本身输入的就是质数,而经过前面的循环之后得到的值也一定是一个质数,最后再记得输出一下即可。

我分享一下参考代码,大家可以跟着理解理解

#include<bits/stdc++.h>using namespace std;int main() {int n;vector<int> a; // 用于存储质因数cin >> n;for(int i = 2; i <= sqrt(n) + 1; i++) {while(n % i == 0) {a.push_back(i);n /= i;}}if(n >= 2) // 若最后有剩余大于1的值,也要记得输出a.push_back(n);for(int i = 0; i < a.size(); i++) { // 格式化输出if(i == 0) cout << a[i];else cout << ' ' << a[i];}return 0;
}

看看腿
在这里插入图片描述

http://www.lryc.cn/news/326964.html

相关文章:

  • iOS18系统中,苹果可能不再使用Siri,转用Gemini
  • python笔记进阶--模块、文件及IO操作(1)
  • 单元测试框架 Junit
  • 数电票怎么查询真伪|发票识别接口|发票查验接口|PHP接口文档
  • 外包干了一个月,忘记Git怎么使用了...
  • 【微服务篇】深入理解微服务网关原理以及Spring Gateway
  • 循序渐进丨MogDB 对 Oracle DBLink兼容性增强
  • 【Python操作基础】——集合
  • 蓝桥杯day15刷题日记
  • AndroidStudio中一些实用插件
  • 计算机网络⑧ —— IP地址
  • YOLOv5-小知识记录(一)
  • 服务运营 | 印第安纳大学翟成成:改变生活的水井选址
  • 计算机网络(特南鲍姆版) 期末总结
  • 【Hive】HIVE运行卡死没反应
  • 【webpack】----错误解决【Cannot read properties of undefined (reading ‘tap‘)】
  • C/C++ 不要使用 boost::asio::ip::address::from_string 函数来转换字符串为IP地址
  • 【Java多线程】4——特定场景解决办法
  • Python:语法糖
  • nginx mirror 流量镜像
  • 霉霉说地道中文,口型、卡点几乎完美,网友:配音时代结束了?
  • 【生活】相机/图像各参数
  • 白酒:浓香型白酒的典型代表与特点
  • 百万组通用编码器 L1527芯片产品介绍,重码率很低
  • 2024年有哪些证书值得考?推荐这四个
  • 下载最新VMware,专业版本
  • 卷积神经网络-卷积层
  • yolov8 pose keypoint解读
  • kubernetes-Pod基于污点、容忍度、亲和性的多种调度策略(一)
  • Jenkins磁盘空间批量清理脚本