因數分解pascal

2022-06-14 09:50:11 字數 1309 閱讀 9641

1樓:匿名使用者

var n:longint;

procedure zys(x:longint); //分解因數過程

var i,k:longint;

begin

k:=1;

while x>1 do

begin

i:=0;inc(k);

while x mod k=0 do

begin

inc(i);

x:=x div k;

end;

if i>1 then //列印因數

if x=1 then write(k,'^',i)

else write(k,'^',i,'*')

else if i=1 then

if x=1 then write(k)

else write(k,'*');

end;

end;

begin //主程式

read(n);

zys(n); //呼叫過程

end.

2樓:涐媞犭者

program pyy;

varn,i,j:longint;

first:boolean;

begin

readln(n);

first:=true;

for i:=2 to trunc(sqrt(n)) doif n mod i=0

then begin

j:=0;

while n mod i =0 do

begin

n:=n div i;

j:=j+1;

end;

if not first

then write('*')

else first:=false;

if j=1

then write(i)

else write(i,'^',j);

end;

if n<>1

then begin

if not first

then write('*')

else first:=true;

if n<>1

then write(n);

end;

writeln;

end.

如何把一個正整數分解成質因數相乘

把一個正整數分解成質因數相乘,可以採用短除法。舉例如下 c語言如何將一個正整數分解成質因數?關於c語言 將一個正整數分解成質因數的乘積 程式的問題 a 1表示重頭開始掃描!因為我要獲得下一個素因子,所以要從a 2掃描,雖然寫了a 1,可是a 以後就成2了 下面是我寫的 lz可以參考一下 includ...

c語言分解質因數,C語言分解質因數

if m k 0 說明還沒找到因數,每次都是從2開始,逐漸遞增,來找因數的 else,else部分,說明已經找到了因數,找到因數以後,先把因數列印出來,然後讓m等於被除後的數,讓k 2,也就是從2開始,繼續遞增找其他的因數啊 舉個例子,你就明白了,比如15,你要對它進行分解質因數,該怎麼做呢 先讓k...

分解質因數,五十,分解質因數,五十,

50 2 5 5 81 3 3 3 3 分解質因數 每個合數都可以寫成幾個質數相乘的形式。其中每個質數都是這個合數的因數,叫做這個合數的分解質因數。分解質因數只針對合數。81分解質因數 每個合數都可以寫成幾個質數相乘的形式。其中每個質數都是這個合數的因數,叫做這個合數的分解質因數。分解質因數只針對合...