思路:要理解质因数是什么!那就先解释一下什么是质因数吧!质因数:每个合数都可以写成几个质素相乘的形式,这几个质素被称为该合数的质因数!现在再去理解什么是质素,
质素:2再加上所有的素数,即质素是素数;什么是素数:就是只能被1和它本身整除的数
理解好了数学概念,现在来说一下算法吧!
看上面三个例子,由数学的计算知道,一个数的质因数是用上面这样的方法,一般我们按照上面的方法时,我们在会从到2到3到4...........一直递增能找到能整除该数为止此时就像上面50,30,40,能被2整除,然后继续寻找能整除(该数被2整除后剩下的因数),继续按照这样的思想循环下去,直到剩下的因子为1为止
#include<iostream>
using namespace std;
int fun(int n)
{
cout<<n<<"=";
for(int i=2;i<n;)
{
if(n%i==0)
{
cout<<i<<"*";
n=n/i;
}
else
i++;
}
cout<<n<<endl;
}
int main()
{
int n;
int a,b;
cin>>a>>b;
for(n=a;n<=b;n++)
fun(n);
return 0;
}
质素:2再加上所有的素数,即质素是素数;什么是素数:就是只能被1和它本身整除的数
理解好了数学概念,现在来说一下算法吧!
看上面三个例子,由数学的计算知道,一个数的质因数是用上面这样的方法,一般我们按照上面的方法时,我们在会从到2到3到4...........一直递增能找到能整除该数为止此时就像上面50,30,40,能被2整除,然后继续寻找能整除(该数被2整除后剩下的因数),继续按照这样的思想循环下去,直到剩下的因子为1为止
#include<iostream>
using namespace std;
int fun(int n)
{
cout<<n<<"=";
for(int i=2;i<n;)
{
if(n%i==0)
{
cout<<i<<"*";
n=n/i;
}
else
i++;
}
cout<<n<<endl;
}
int main()
{
int n;
int a,b;
cin>>a>>b;
for(n=a;n<=b;n++)
fun(n);
return 0;
}