蓝桥杯 ADV-223 因式分解

编程入门 行业动态 更新时间:2024-10-23 10:23:35

蓝桥杯 ADV-223 <a href=https://www.elefans.com/category/jswz/34/1756519.html style=因式分解"/>

蓝桥杯 ADV-223 因式分解

蓝桥杯 ADV-223 因式分解

问题描述

设计算法,用户输入合数,程序输出若个素数的乘积。例如,输入6,输出2*3。输入20,输出2*2*5。
输入样例
120
输出样例
2*2*2*3*5

思路解析

  • 筛选出5000内的素数,从头到尾进行取余,余数为0,则该素数为因子,余数不为0,则迭代至下一个素数,直到该数为1。
#include<iostream>
#include<vector>using namespace std;bool isPrime(int num){if (num == 0 || num == 1)return false;for (int i = 2; i * i <= num; i++){if (num % i == 0)return false;}return true; 
}int main() {int cn, index = 0;vector<int> pm, res;cin >> cn;for (int i = 0; i < 50000; i++){if (isPrime(i)){pm.push_back(i);}}index = 0;while (cn != 1){if (cn % pm[index] == 0){cn /= pm[index];res.push_back(pm[index]);}elseindex++;        }cout << res[0];for (int i = 1; i < res.size(); i++){cout << "*";cout << res[i];}return 0;
}

更多推荐

蓝桥杯 ADV-223 因式分解

本文发布于:2023-07-28 15:44:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1239210.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:因式分解   蓝桥杯   ADV

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!