Số có thừa số nguyên tố có nhiều nhân tử nhất với Pascal

9
Lập trình Pascal

Bài toán. Tìm các số tự nhiên nhỏ hơn hoặc bằng n mà sau khi làm phép phân tích ra thừa số nguyên tố có nhiều nhân tử nhất.

Ví dụ n=9 . Các số có nhiều nhân tử nhất sau khi làm phép phân tích là: 8 = 2.2.2

Program phanTichNguyenTo;
Var n, Max, so, i:byte;
Function PTNT(n:integer):byte;
Var i,p:byte;
Begin
    i:=2;
    p:=0;
    While n>1 do if (n mod i)=0 then 
        Begin p:=p+1; n:=n div i end else i:=i+1;
    PTNT:=p;
End;
Procedure PT(n:integer);
Var i:byte;
Begin
    i:=2;
    While n>1 do
    if (n mod i)=0 then
     Begin Write(i,'.'); n:=n div i end else i:=i+1;
End;

Begin
    Write('Nhap so n: ');Readln(n);
    Max:=0;
    For i:= 1 to n do if PTNT(i)>=Max then 
         Begin Max:=PTNT(i); So:=i End;
    Write('So ',So,' co nhieu uoc nhat,',so,' = ');
    PT(So);
    Readln
End.