基础训练:分解质因数
【摘要】 问题描述
求出区间[a,b]中所有整数的质因数分解。
输入格式
输入两个整数a,b。
输出格式
每行输出一个数的分解,形如k=a1 * a2 * a3…(a1<=a2<=a3…,k也是从小到大的)
程序清单
#include <iostream>
#include <math.h>
using namespace std...
问题描述
求出区间[a,b]中所有整数的质因数分解。
输入格式
输入两个整数a,b。
输出格式
每行输出一个数的分解,形如k=a1 * a2 * a3…(a1<=a2<=a3…,k也是从小到大的)
程序清单
#include <iostream>
#include <math.h>
using namespace std;
bool isPrime(int num) //判断是否为素数
{
for(int i=2; i<=sqrt(num); i++)
{
if(num%i==0) return false;
}
return true;
}
int main()
{
int a=0,b=0,j=0,k=0;
cin>>a>>b;
for(int i=a; i<=b; i++) // 计算[a,b]中所有数的质因数分解
{
cout<<i<<"=";
j=i;
k=2;
while(!isPrime(j)) //若j是否为质数,若是质数,则可继续分解因数
{ if(j%k==0) //若能被k整除,则k为一个因数 { cout<<k; j=j/k; if(j!=1) cout<<"*"; } else k++;
}
cout<<j<<endl;
}
return 0;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
测试结果
输入:2、10。即测数2到10的分解质因数
文章来源: ai-wx.blog.csdn.net,作者:AI 菌,版权归原作者所有,如需转载,请联系作者。
原文链接:ai-wx.blog.csdn.net/article/details/104637753
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)