一道Pascal題,pascal題目

2023-09-25 20:44:31 字數 3008 閱讀 9080

1樓:網友

vari,j,k:integer;

beginfor i:=1 to 5 dobeginfor j:=i downto 1 dowrite(j);

for j:=1 to 5-i do

write('1');

writeln;

end;end;

直接打的,可能會有細節上的錯誤。

pascal題目

2樓:白衣小強丶

【演算法分析】無論第i個瓶子塗什麼顏色(但一定不能與第i-1個瓶子的顏色相同),都與塗完前i-1個瓶子所需的最小代價無關,所以這題很顯然需要使用動態規劃演算法。

用f[i,j]表示第i個瓶子塗第j種顏色所花費的最小代價,從而得到狀態轉移方程:

f[i,j]:=min //f[i-1,k]表示第i-1個瓶子塗第k種顏色所花費的最小代價,保證j<>k

最後輸出的結果就是f[n,1],f[n,2],f[n,3]中的最小值。

演算法時間複雜度o(9*n)

還有建議lz如果以後決定往計算機競賽這方面發展得話趁早學些c++的基本知識,畢竟目前網路上的解題報告大部分都是用c++語言的、、、

參考程式】var n,i,j,k:longint;

f,g:array[0..100000,1..3]of longint;

function min(x,y:longint):longint;

beginif xk then

f[i,j]:=min(f[i,j],f[i-1,k]+g[i,j]);

writeln(min(min(f[n,1],f[n,2]),f[n,3]))

end.評測結果】找不到評測**╮(╯

pascal題目

3樓:網友

這兩題都是好題啊。

第一題,涉及簡單的密碼破解,而且不涉及數論中的複雜知識,想一下rsa加密吧……

以它給的例子,我們來看一下怎樣找到最初的c:

**寫出來是:

var a:array[1..1000]of char;

ans:array['a'..z']of char;

s:string;

t:char;

r,i,j,k:integer;

beginreadln(s);

readln(r);

k:=length(s);

for i:=1 to k do a[i]:=s[i];

for i:=1 to k-1 do //氣泡排序;

for j:=i+1 to k do

if a[i]>a[j] then

begint:=a[i];

a[i]:=a[j];

a[j]:=t;

end;for i:=1 to k do

ans[s[i]]:a[i];

t:=a[r];

for i:=1 to k do

beginwrite(t);

t:=ans[t];

end;end.

pascal某試題求解

4樓:網友

無符號數:只考慮正數,不考慮負數。

2a)16=(42)10

最小的數是(37)8

pascal題

5樓:疾風勁草

我的想法是:因為魚的美觀程度都是3的整數次冪,所以可用三進位表示法。如:取第一條魚可表示為1,取第三條可表示為100,取第。

一、二、三條可表示為111。顯然,由於每條魚都有其各自的美觀程度,美觀程度的總和的三進製表示中只可能出現0和1,不可能有2。這樣,也就是要求出乙個三進位的遞增數列,且每乙個數中都不含數字2。

由此,我想到二進位,於是立刻得出演算法。先把k轉換成二進位,再把這個二進位數當成三進製數,還原為十進位數,這就是最後結果。

比如當k=7時,二進位形式為111,把它看成三進位數,計算它的值:

program catfish;

varinfile,outfile:text;

jg,k,q,n,i:longint;

beginassign(infile,''

reset(infile);

assign(outfile,''

rewrite(outfile);

read(infile,n);

for q:=1 to n do begin

read(infile,k);

jg:=0;

while k>0 do begin

for i:=0 to 30 do

if (trunc(exp(i*ln(2)))k) and (trunc(exp((i+1)*ln(2)))k) then begin

k:=k-trunc(exp(i*ln(2)))

jg:=jg+trunc(exp(i*ln(3)))

break;

end;end;

writeln(outfile,jg);

end;close(infile);

close(outfile);

end.

pascal題目

6樓:網友

比如一開始10000塊 月息為。

那麼第乙個月後 由於月息總共欠銀行10000*(1+元然後你交了元 還欠元。

第二個月:由於月息 共欠元。

再交元 還欠 元。

以此類推。到第十個月欠約元 幾乎為0 所以月供為。

我的想法:用二分做。

左邊界l 右邊界r 中間m=(l+r)/2如果m能滿足條件,則l=m 否則r=m 直到l和r差距在以內如果還不會直接問我。

7樓:網友

月數表示你要在幾個月裡還,月數*月息就是你要付的利息,再加上貸款的錢數10000;除以月數,就是月供了;

如果要**的話就告訴我郵箱,我給你發過來。

一道pascal 題,高手請進,一道PASCAL 題,高手請進

1.加var a,b,c array 1.1000 of integer s1,s2 string n,n1,n2,i,j,k,d integer begin readln s1 n1 length s1 readln s2 n2 length s2 for i 1 to n1 do a n1 i ...

一道java題,一道JAVA題

選d 因為java所有的類,預設都繼承自object類,它呼叫super.equals 就是呼叫其父類object類的equals方法,而object類的equals方法是有引數的,而它沒有引數,所以行3出錯,不能成功編譯.object的equals方法是這樣定義的boolean equals ob...

一道閱讀題,一道閱讀題

顫動一詞在句中修飾泉水的流動恰到好處,使畫面有動態感,再現了春天的生機於活力,微微顫動對應著春天的萬物復甦,春天的生長。富有了生命力!一道閱讀題?你好啊,這是擬人的的修辭手法,這句話給荷花賦予了生命有了心靈這是人才有的東西。這是擬人的修辭手法。這句話運用了擬人化的修辭手法 一道閱讀題 這是一個省的題...