分解质因数

王朝百科·作者佚名  2010-01-06  
宽屏版  字体:   |    |    |  超大  

分解质因数
例:分解质因数

分解质因数的原理每个合数都可以写成几个质数相乘的形式。其中每个质数都是这个合数的因数,叫做这个合数的质因数。

分解质因数只针对合数。

分解质因数的含义一个合数用几个质数相乘的形式表示出来,叫做分解质因数。

例:12=2x2x3

分解质因数的方法举个简单例子,12的分解质因数可以有以下几种:12=2*2*3=4*3=1*12=2*6,其中1,2,3,4,6,12都可以说是12的因数,即相乘的几个数等于一个自然数,那么这几个数就是这个自然数的因数。2,3,4中,2和3是质数,就是质因数,4不是质数。那么什么是质数呢?就是不能再拆分为除了1和它本身之外的因数的数,如2,3,5,7,11,13,17,19,23,29等等,质数没有什么特定的规律,最大的质数仍然在计算当中(icerlion更正:不存在最大的质数)。

求一个数分解质因数,要从最小的质数除起,一直除到结果为质数为止。分解质因数的算式的叫短除法,和除法的性质差不多,还可以用来求多个个数的公因式:

如24

2┖24(┖是短除法的符号)

2┖12

2┖6

2┖3——3是质数,结束

得出24=2*2*2*2*3=2^4*3(m^n=m的n次方)

再如105

3┖105

5┖35

----7——7是质数,结束

得出105=3*5*7

证明,不存在最大的质数:

使用反证法:

假设存在最大的质数为N,则所有的质数序列为:N1,N2,N3……N

设M=(N1*N2*N3*N4*……N)+1,

可以证明M不能被任何质数整除,得出M是也是一个质数。

二M>N,与假设矛盾,故可证明不存在最大的质数。

编程分解质因数pascal语言

program dsq;

var

n,i:longint;

begin

readln(n);

write(n,'=1');

i:=2;

while i<=n do begin

while n mod i = 0 do begin

write('*',i);

n:=n div i;

end;

inc(i);

end;

end.

Visual Basic语言

Dim x, a, b, k As String

Private Sub Command1_Click()

a = Val(Text1.Text)

x = 2

If a <= 1 Or a > Int(a) Then

If a = 1 Then

Text2.Text = "它既不是质数,也不是合数"

Else

MsgBox "请您先输入数据", vbOKOnly + vbInformation, "友情提示"

End If

Else

Do While a / 2 = Int(a / 2) And a >= 4

If b = 0 Then

Text2.Text = Text2.Text & "2"

b = 1

Else

Text2.Text = Text2.Text & "*2"

End If

a = a / 2

k = a

Loop

Do While a > 1

For x = 3 To Sqr(a) Step 2

Do While a / x = Int(a / x) And a >= x * x

If b = 0 Then

Text2.Text = Text2.Text & x

b = 1

Else

Text2.Text = Text2.Text & "*" & x

End If

a = a / x

Loop

Next

k = a

a = 1

Loop

If b = 1 Then

Text2.Text = Text2.Text & "*" & k

Else

Text2.Text = "这是一个质数"

End If

End If

End Sub

Private Sub Command2_Click()

Text1.Text = ""

Text2.Text = ""

End Sub

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有