PASCAL语言分解质因数

来源:百度知道 编辑:UC知道 时间:2024/06/05 21:59:27
从键盘输入任意一个自然数,如果是合数的话将其分解质因数,不是合数的话输出“no”。

输入部分:

多组数据,每组一行,是一个自然数(<10000,所有输入均为合法)。

输出部分:

对应每组输入,有1行输出。输出格式参见输出样例。

输入样例:

24
87
5

输出样例:

24=2*2*2*3
87=3*29
no

好的话,追加

var
m,l:Longint;
i,len,li,u:Integer;
l1:String;

Label 100;
Procedure stop;
Begin
Writeln('Input Error');
Readln;
Halt;
End;
begin
writeln;
i:=0; l1:=''; l:=0; m:=0; li:=0;

writeln('Input a Number (2<x<1499999999) ');
readln(l1);
len:=length(l1);

If (len<1) or (len>10) Then stop;
If (len = 10) Then
If (l1[1]>'1') Then stop Else If (l1[2]>'4') Then
stop;

For li:=1 to len Do
Begin
If l1[li] in ['0'..'9'] Then Continue
Else stop;
End;

Val(l1,l,u);
Write(l,' = ');
i:=1;

m:=p[1];
Repeat
While l Mod m = 0 Do Begin
l:=l Div m;
Write(' ',m,' ');
If l>1 Then Write('*');
End;
Inc(i);
m:=p[i];
If