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 的費用,三卷則更多。假設具...