用短除法分解质因数可以用质数2、3或5去试除,但不能用“1”去试除,因为1不是质数也不能用合数去试除因为分解质因数就是把一个合数写成几个质数相乘的形式
同时要注意书写格式例:24=2×2×2×3 不能写成2×2×2×3=24
#include<iostream>
using namespace std;
void fenjie(int n)
{
cout<<n<<"=";
for(int k=2;k<=n;k++)
{
while(n!=k)//质数等于n,则分解质因数的过程结束
{
if(n%k==0)//n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n
{
cout<<k<<"";
n=n/k;
}
else
break;
}
}
cout<<n<<endl;
}
int main(void)
{
int n,k;
cout<<"输入一个整数: ";
cin>>n;
fenjie(n);
system("pause");
return 0;
}
首先,合数又名合成数,是满足以下任一(等价)条件的正整数:
是两个大于 1 的整数之乘积;
拥有某大于 1 而小于自身的因子;
拥有至少三个因子;
不是 1 也不是素数;
有至少一个素因子的非素数。
值得注意的是,完全平方数有奇数个因子,不是完全平方数的合数有偶数个因子。
知道了什么是合数,
我想就可以知道规律了,
将合数先除以2,除下来的数,若还可以除2,就再除,除到不能再除为止,若是3的倍数,则除以3,除到不能再除为止,若已经是质数了,就结束了,若还不是,就除以5,依此类推……
总结:将合数依此除以100以内,从2开始的质数,直到不能再除为止,即可。
例如:84/2=42/2=21/3=7/7=1 则84的质因数为2,3,7
通常都是尝试,从最小的 质数 比如,2,3,5等等开始
就算是用 计算机语言 解题也是 如此
比如 24193
24193÷2=12096余1
24193÷3=8064余1
24193÷5=4838余3
24193÷7=3456余1
24193÷11=2199余4
24193÷13=1861
可以验证,1861 是质数
24193=13 1861
C语言编程
#include <stdioh>
main()
{
long n,i;
printf("
输入一个数:
");
scanf("%ld",&n);
printf("%ld=",n);
for(i=2;i<n;)
{
if(n%i==0)
{
printf("%d",i);
n=n/i;
}
else
i++;
}
printf("%d",n);
}
具体可参考:>
分解质因数的方法有两种:
1、相乘法
写成几个质数相乘的形式(这些不重复的质数即为质因数),实际运算时可采用逐步分解的方式。
如:36=2233 运算时可逐步分解写成36=49=2233或312=3223
2、短除法
从最小的质数除起,一直除到结果为质数为止。分解质因数的算式的叫短除法。
扩展资料:
最大公约数的求法:
(1)用分解质因数的方法,把公有的质因数相乘。
(2)用短除法的形式求两个数的最大公约数。
(3)特殊情况:如果两个数互质,它们的最大公约数是1。
如果两个数中较小的数是较大的数的约数,那么较小的数就是这两个数的最大公约数。
最小公倍数的方法:
(1)用分解质因数的方法,把这两个数公有的质因数和各自独有的质因数相乘。
(2)用短除法的形式求。
(3)特殊情况:如果两个数是互质数,那么这两个数的积就是它们的最小公倍数。
如果两个数中较大的数是较小的数的倍数,那么较大的数就是这两个数的最小公倍数。
把一个合数分解成若干个质因数的乘积的形式,即求质因数的过程叫做分解质因数。
分解质因数只针对合数。(分解质因数也称分解素因数)求一个数分解质因数,要从最小的质数除起,一直除到结果为质数为止。分解质因数的算式叫短除法,和除法的性质差不多,还可以用来求多个个数的公因式。
以上就是关于怎样把一个合数分解质因数 怎样把一个合数分解质因数用公式全部的内容,包括:怎样把一个合数分解质因数 怎样把一个合数分解质因数用公式、c++把合数分解为素因数连乘积的形式。、1至100中所有合数,如何分解质因数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)