蓝桥杯 分解质因数(模板)

xiaoxiao2021-02-28  99

基础练习 分解质因数   时间限制:1.0s   内存限制:512.0MB         问题描述   求出区间[a,b]中所有整数的质因数分解。 输入格式   输入两个整数a,b。 输出格式   每行输出一个数的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是从小到大的)(具体可看样例) 样例输入 3 10 样例输出 3=3 4=2*2 5=5 6=2*3 7=7 8=2*2*2 9=3*3 10=2*5 提示   先筛出所有素数,然后再分解。 数据规模和约定   2<=a<=b<=10000

tips:模板题

#include<iostream> #include<cstring> #include<vector> using namespace std; int n,m; vector<int>v; void fun(int x) { for(int i=2;i*i<=x;i++) { if(!(x%i)) { while(x%i==0) { v.push_back(i); x/=i; } } } if(x>1)v.push_back(x); //不要丢掉这一句 } int main() { while(cin>>n>>m) { for(int i=n;i<=m;i++) { v.clear(); fun(i); cout<<i<<"="; for(int i=0;i<v.size();i++) printf("%d%c",v[i],i==v.size()-1?'\n':'*'); } } return 0; }

转载请注明原文地址: https://www.6miu.com/read-76171.html

最新回复(0)