pascal的乙個演算法,pascal求解

時間 2023-08-11 03:44:03

1樓:匿名使用者

其餘我就不打了。

有用多重選擇。

設那幾個數為a, b, c, d

if a+b-c+d then writeln```if a+c-b+d then```

if a+d-c+b then ``

if b+c-a+d then```

if b+d-a+c then

if c+d-a+b then

可以了。滿足條件就輸出,當然我不保證這是最好的演算法。

最後別忘了在表示式那加()

2樓:網友

每組的個數要求相等嗎。

3樓:

以總數和的一半為箱子,進行裝箱問題類似的dp,考慮奇偶,剩下的就是很容易的了。

pascal求解

4樓:市守沐

最直接的思路:

設二維布林陣列,將該圓走過的路徑掃瞄一遍(要用到圓的方程),經過的格仔標記,並記錄走過的格仔數(紅色)。

然後將紅色格仔圍著的格仔(藍色)寬搜,統計個數。

pascal 集合的運算

5樓:匿名使用者

當然不能用集合來算了。

定義陣列來算,b:array[1..30000] of boolean;

注意看為什麼是30000,然後集合中有的就讓b[i]為true,否則為false;

然後最後輸出的時候,先判斷是否全部為false,輸出-1

否則就 for i:=1 to 30000 do if b[i] then writeln(i);)

括號內的東西可被乙個記錄集合內元素個數的變數t完美替代。

懂pascal語言的來

6樓:睡獅已醒驚寰宇

很簡單的啦。

多餘的糖自己吃掉的意思,我告訴你。

比如說甲有50個糖,平均分成3份,每份是16個,還剩餘2個沒有辦法平均分配,那2個就自己吃了。

不過你確信沒記錯?多餘的糖是自己留著還是自己吃掉?

如果是自己吃掉的話,程式如下:

vara,b,c,d,e,f:integer;

begina:=50;

b:=43;

c:=13;

d:=a div 3;

e:=b div 3;

f:=c div 3;

a:=d+e+f;

b:=d+e+f;

c:=d+e+f;

writeln('a:='a);

writeln('b:='b);

writeln('c:='c);

end.如果是剩餘的糖自己留著,程式如下。

vara,b,c,d,e,f,g,h,i:integer;

begina:=50;

b:=43;

c:=13;

d:=a div 3;

e:=a mod 3;

f:=b div 3;

g:=b mod 3;

h:=c div 3;

i:=c mod 3;

a:=d+e+f+h;

b:=d+f+g+h;

c:=d+f+h+i;

writeln('a:='a);

writeln('b:='b);

writeln('c:='c);

end.

7樓:網友

vara,b,c,d,e,f:integer;

begina:=50;

b:=43;

c:=13;

d:=a div 3;

e:=b div 3;

f:=c div 3;

a:=d+e+f;

b:=d+e+f;

c:=d+e+f;

writeln('a:='a);

writeln('b:='b);

writeln('c:='c);

end.這題我初一時做的,5年了啊。

怎麼使用pascal~~

8樓:匿名使用者

program p; program寫給電腦的 p是程式名 var a,b,c:integer; 定義所需要的數 誰便定義begin 開始 read(a,b); 輸入a,b 要定義了才能用c:=a+b; 計算 c為計算結果 write(c); 輸出cend.

結束。

9樓:匿名使用者

去買本書吧。 看著學 。

pascal的問題

10樓:仰雁懷綾

首先從題目的意思來看,c和c是可以排列在一起的。

而本題可以使用動態規劃的思想來解釋。

n個數的排列可以看成是n-1+1個數的排列。

所以,要知道a【n】的值只需要知道a【n-1】中最後一位有多少是a或b(即後面可接除本身以外的兩個數,記為m),又有多少是c(即後面可接abc三個數,記為n)。則a【n】=m*2+n*3;而用a【n-1】和a【n-2】便恰好可以得到m,n的數值。

從上面的式子可得到a【n-1】=m'*2+n'*3,而m'+n'=a【n-1】,所以n'=a【n-1】-2*a【n-2】即為a【n-2】中以c為最後一位的個數,接著得到m'=3*a【n-2】-a【n-1】;

進一步分析,當最後一位為c時,它的後面可以接a,b,c三種數字,而當它為a或者b的話,後面只能接兩種數字——1個c,乙個不是c。最後,我們就得到了m=m'+2*n',n=m'+n'。

最後得到狀態轉移方程:

a【n】=2*a【n-1】+a【n-2】

這一題的難點便是動態規劃的問題,如果你搞懂為什麼‘只需要在n-1個固定排列的後面放如新數字,而不需要考慮插入的情況’這個問題,這一題也就只是一道很容易的數學分析題了。

純手打,給個最佳唄!

問乙個簡單的pascal 語言問題啊

11樓:祖榮花考棋

關於read的問題……

你可以想象存在乙個讀入的箭頭。

read是箭頭掃瞄完這個輸入之後就停在那裡了。

如果readln(x);更改成read(x)是不應該存在問題的。

應該看一下是不是其他地方或者輸入有問題……最後乙個readln;的目的是停在輸出螢幕上。

readln;對輸出結果無任何影響。

在fp中。完全可以刪掉readln;而改成執行程式後按alt+f5檢視輸出。

這是。pascal語言。

中的簡潔用法。

因為if後面應該是個。

布林值。而leep正好是。

布林型。變數。

儲存的是。布林值。

所以ifleep等效於if

leep=true

就是這樣~

12樓:朱桂花逯雁

1)read和readln的區別在於。

read不管換不換行,它會按照從左往右的順序讀取資料,如果沒有符合要讀取資料的個數,它會繼續讀取,如果一行讀完,它會自動換行繼續讀取,當然也會省略要讀取資料之外多餘的資料。

readln是讀取當前這行這條語句要讀取的資料,當這行讀取完所有資料,它會自動省略這行的其他資料,而如果沒有讀取完,它也會自動換行讀取資料,讀取完畢以後會自動轉到下一行執行下一條語句。

2)最後乙個readln的作用。

是方便你檢查結果,當程式執行結束後會因為這條語句停留在輸出介面。

3)當if後面是布林型別。那麼。if

變數=true’也就可以省略成‘if

變數。同理。

if變數=false’

也可以省略成。ifnot

變數’後面then和else的格式不變。

我也是剛入門的新兵蛋子。望!

pascal檔案題(跪求),幾道簡單的Pascal題目,跪求答案!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

我就答12題吧 program df type arr1 array 1.50 of integer var s,d,f,i,j,n integer a,b arr1 begin write hang shu readln n for i 1 to 2 n 1 do a i 0 a 2 n 1 di...

求PASCAL簡單程式,求乙個PASCAL簡單程式

var a longint begin read a if a 100 then writeln 1 else writeln 0 end.var a string begin readln a if a 100 then writeln 1 else writeln 0 end.這是我寫的,都對,...

用pascal程式列印下列圖形,用PASCAL程式列印下列圖形

1 var a,b,c integer begin for b 1 to 7 do begin for c b to 2 b 1 do begin a c mod 10 write a,end for c 2 b 2 downto b dobegin a c mod 10 write a,end w...

pascal全排列演算法,急急

簡單回溯 這個 是我剛編的,通過了 const max 9 var m,n longint a array 1.max of longint procedure work j,k longint j 為列舉第j個數字,k 為上次的列舉值 var i longint begin if j m 1 th...

求貪心演算法題(Pascal)

程式設計之美 裡面有一道買書問題的貪心演算法。題目是這樣的 在節假日的時候,書店一般都會做 活動。由於 哈利波特 系列相當暢銷,店長決定通過 活動來回饋讀者。上櫃的 哈利波特 平裝本系列中,一共有五卷。假設每一捲單獨銷售均需8歐元 如果讀者一次購買不同的兩卷,就可以扣除5 的費用,三卷則更多。假設具...