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的話是沒有任何效果的,那麼我們就將這個數字分解質因數了 (感覺說得有點亂...) 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問題 它是下標變數,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,所以用delphi的控制檯來實現。62616964757a686964616fe78988e69d8331333330346531 var i,j longint r,s,t string temp char begin readln r readln s t s f...pascal簡單問題,pascal簡單問題一個。!
pascal問題 5,pascal問題
PASCAL程式設計問題