10.04.2017

Phân tích số ra số nguyên tố

Olympic Bac Giang - 2012 - Bai 3.
Lập trình để phân tích một số thành tích các số nguyên tố
                                                                 Giải
Var n,i,m: Longint; Ok: boolean;
Function IsPrime(n:Longint):Boolean;
       Begin
           Ok:=True;
           If (n=1) Then Ok:=False
           Else For i:=2 to (n-1) Do
                        If n mod I=0 Then Ok:=False;
           IsPrime:=Ok;
       End;
BEGIN
       Write(' Cho n = ');Readln(n); i:=1;
       Write('=> ',n,' duoc phan tich nhu sau: ',n, ' = ');
       While (i<=n) do
           Begin
               If (IsPrime(i)) And (n Mod i = 0) Then
                   Begin
                       n:=n div i;
                       If (n=1) Then write(i)
                       Else Write(i,'*');
                  End
               Else i:=i+1;
           End; Readln;
End.

No comments:

Post a Comment

Cảm ơn bạn đã nhận xét