问题 1464: [蓝桥杯][基础练习VIP]分解质因数
时间限制: 1Sec 内存限制: 128MB 提交: 368 解决: 214
题目描述
求出区间[a,b]中所有整数的质因数分解。
提示
先筛出所有素数,然后再分解。
数据规模和约定
2< =a< =b< =10000
输入
输入两个整数a,b。
输出
每行输出一个数的分解,形如k=a1a2a3…(a1< =a2< =a3…,k也是从小到大的)(具体可看样例)
样例输入
3 10
样例输出
3=3
4=22
5=5
6=23
7=7
8=222
9=33
10=25
#include
#include
using namespace std;
//判断素数 此一步不写亦可
bool isPrime(const int x)
{
int num = x;
for (int i = 2;i <= sqrt(num);i++)
{
if (num % i == 0)
{
return false;
}
}
return true;
}
//输出质因数
void display_Prime(const int x)
{
int num = x;
int i = 2;
if (isPrime(num))
{
cout< 1)
{
if (num % i == 0)
{
cout< 1)
{
cout<<"*";
}
}
else
{
i++;
}
}
}
}
int main(void)
{
int num_a = 0;
int num_b = 0;
cin>>num_a>>num_b;
for (int index=num_a;index <= num_b;index++)
{
display_Prime(index);
cout<