我有一道PASCAL的問題不會,求高手指教

時間 2022-06-03 10:35:06

1樓:匿名使用者

1全部既然是寒假作業,如果直接發程式就等於幫你作弊了,所以講方法

1.最簡單的方法,列舉5個人帶來的糖塊數目,然後按題意分,分完後符合條件就輸出。在此之上加優化(其實加不加都差不多,又不是比賽,不過優化程式可以給老師表揚o(∩_∩)o~),如for迴圈時,5人的糖塊數列舉至32就可以了(其實列舉到幾千、幾萬都可以,一個break語句就搞定了)

2.列舉a、b兩數,在for語句下標處自己計算一下來優化(這題都不會就別學pascal了)

3.讀入那個正整數還是直接讀入那個正整數的立方我不知道,反正都可以算出或直接知道那個正整數的立方。分解出來的四個數與正整數和正整數的立方之間有規律,自己想一下

4.這個握手問題十分猥瑣,壓根就可以用算數求出來居然還要用for迴圈(題意的解法是for迴圈)

5.和第三題一樣,分解出來的數和要分解的數之間有規律

6.這題也很簡單for迴圈搞定

另外,表示x的n次方是「x^n」,要用「^」隔開!

不是不想給,而是不能給,原因一開始已經說明白了

2樓:虹

type fh=record

h,rl,bb,cz:longint;

end;

bj=record

bh,rs,f:longint;

y:boolean;

end;

var fj:array[1..5] of fh;

b:array[1..15] of bj;

i,j,a,k,c,d:longint;

begin

for i:=1 to 5 do begin read(fj[i].h,fj[i].rl);fj[i].cz:=500;end;

i:=1;

read(a);

while a<>0 do begin read(k);b[i].bh:=a;b[i].

rs:=k;inc(i);read(a);c:=500;b[j].

y:=false;

for j:=1 to 5 do if ((fj[j].rl-k)>=0)and((fj[j].rl-k)

begin d:=j;c:=fj[j].rl-k;end;

if c

end;

for j:=1 to 5 do begin b[fj[j].bb].f:=j; b[fj[j].bb].y:=true;end;

for j:=1 to i-1 do if b[j].y then writeln(b[j].

bh,' ',b[j].rs,' y ',b[j].f,' ',fj[b[j].

f].rl)

else writeln(b[j].bh,' ',b[j].rs,' n');

end.

pascal語言 一道題目

我來試試 varn,a,b,s longint begin readln n s 1 乘積初始化 repeat repeat a n mod 10 取個位數字 s s a 累乘各位數字 b n div 10 取剩餘多位數n b 替換原多位數 until b 0 write s,n s 以新生成的數字...

求pascal的一道題

窮舉 判斷素數 判斷倒序數是否為質數 數碼和是否符合條件 數碼積是否符合條件 輸出 窮舉1到160間的素數,如果符合以上要求則輸出。begin k 0 for i 2 to 160 do begin ok true for j 2 to trunc sqrt i do begin if i mod ...

數學問題有一道不會做,有一道數學題不會做

a 2 d 因為 ace 2 dce a abc a 2 dbc所以 2 dce a 2 dbc又 因為 dce d dbc2 dce 2 d 2 dbc 所以 a 2 d d 1 2 a 證明 d dce dbc 1 2 ace 1 2 abc 1 2 ace abc 1 2 a d 二分之一 a...