【问题描述】
求出区间[a, b]中所有整数的质因数分解,统计一共有多少种不同的分法。
【输入】
6 10
【输出】
10
【解题思路】
本题优先考虑是否质数,质数的分解只有自己,然后再对其他数字的情况进行拆解,用一个全局变量进行累加,求出结果。
//练习题,分解质因数
#include<iostream>
#include<vector>
using namespace std;
//判断质数
bool iszhishu(int num)
{
int i;
if (num == 1)
{
return true;
}
for (i = 2; i <= num / 2; i++)
{
if (num % i == 0)
{
return false;
}
}
if (i > (num / 2))
return true;
else
return false;
}
int main()
{
int start, over, sum = 0;
vector<int> allzhishu;//存储2-over的所有质数
cin >> start >> over;
//存储质数
for (int i = 2; i <= over; ++i)
{
if (iszhishu(i))
{
allzhishu.push_back(i);