pascal問題!用while語句解

2022-02-19 23:57:20 字數 1286 閱讀 4292

1樓:雲城之主

[主體思路]:

列舉 i (從2開始,直到 n )

檢查每個 i 是否是 n 的因子

[程式]及[解釋]:

var //定義變數n,i:longint;

begin

readln(n);

write(n,"=");

i=1;

while i

begin

inc(i); //列舉

if n mod i=0 then //如果i是n的因子begin

n:=n div i;

write(i,'*');//輸出 i 和 "*"

end;

if i=n then // 這是n紀錄了 剩下的最後一個因子begin

writeln(n);

exit;

end;

end;

end.

2樓:

當n>1時,就去尋找一個能把n整除的數將n約分,直到n=1為止。

varn,i:longint;

begin

readln(n);

i:=2;

while n>1 do

begin

if n mod i=0 then

begin

n:=n div i;

write(i,'*');

endelse

inc(i);

if i=n then

begin

writeln(n);

exit;

end;

end;

end.

3樓:匿名使用者

這個...樓上已經打出來了

主要是是要想通一個問題,怎麼才能將它分解為質因數相乘的模式我們可以將一個計數器t從2開始增加(t=2的情況也要做)如果n 能被t整除那麼n div t 否則t+1因為,任何合數都可以分解成質因數相乘的模式,舉個例子,n=20,t=2;

第一步 運算下來, n=20/2=10 t=2第二步 運算下來, n=10/2=5 t=2第三步 運算下來 n=5 t=3第四步 運算下來 n=5 t=4第五步 運算下來 n=5 t=5第六部 因為t>=n then 輸出

那麼我們可以看到,因為20除了2次2,所以t如果到了4的話是沒有任何效果的,那麼我們就將這個數字分解質因數了

(感覺說得有點亂...)

pascal簡單問題,pascal簡單問題一個。!

1.program aaa const eps 1e 7 varx,t,s real n integer begin read x n 1 t x s x repeat n n 2 t t x x n 1 n s s t until abs t writeln s end.2.program bbb...

pascal問題 5,pascal問題

pascal問題 它是下標變數,a是陣列名,i是下標。如要真正了解,需學習陣列型別。陣列的第i個元素 如 var a array 1.5 of integer begina 1 3 a 2 4 a 3 8 a 4 6 a 5 5 write a 3 end.就會輸出陣列a中的第3個元素8 陣列中的第...

PASCAL程式設計問題

因為機器上沒有安裝pascal,所以用delphi的控制檯來實現。62616964757a686964616fe78988e69d8331333330346531 var i,j longint r,s,t string temp char begin readln r readln s t s f...