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分解質因數 每個合數都可以寫成幾個質數相乘的形式。其中每個質數都是這個合數的因數,叫做這個合數的分解質因數。分解質因數只針對合...