1樓:匿名使用者
第一題就是while3重,判斷。
然後判斷它是不是素數
pascal程式設計問題,求大師解答!
2樓:匿名使用者
① 這個問題一點也不簡單! 這涉及演算法~。
② 簡單的思路,就是對這n個數,做列舉,從1個,2個,3個,。。。。 每個裡面又有不同的組合,這就是所謂的『冪集』。如果n很大的時候,這個方法效率太低不可行;前面那位同學提及的揹包演算法就是一個動態規劃的解決方法。
③ 如果n不大,可以用下面的簡單方法實現(沒有函式呼叫~)
program subgroupsum;
varn, p, i, j, s, s2, h, ans : integer; //可換成int64
a : array of integer;
begin
readln(n); // 省略輸入檢驗
setlength(a, n);
p := 1; s := 0;
for i := low(a) to high(a) do
begin read(a[i]); p:=p*2; s:=s+a[i]; end;
h := s div 2;
ans := s * s;
for i := 0 to p-1 do
begin
s2 := 0;
for j := low(a) to high(a) do
begin
if (i and (1 shl j) <> 0) then
begin
//write(a[j]); // <-- 除錯輸出
s2 := s2+a[j];
if s2 > h then break;
end;
end;
// writeln(''); // <-- 除錯輸出
if s2 > h then continue;
if (s*(s-2*s2) < ans) then ans := s*(s-2*s2); //s1*s1-s2*s2
end;
writeln(ans);
end.
④ 執行:
3樓:天才綠豆糕
s1*s1-s2*s2=(s1+s2)(s1-s2) 第一個一定,讓第二個最小
記憶體頻率問題望高手解答
1 隨便插 2 不支援 3 鎖著的 4 ddr就是雙倍頻率,133 2 266,說明記憶體設定為ddr266了,估計你就沒調它,預設了 5 到bios改一下試試吧 1.可以隨便插。2.845pe主機板不支援雙通道,所以cpu z顯示的是灰色的。3.倍頻指的是cpu,不是指記憶體。通常倍頻是鎖閉了的。...
高分懸賞,電腦開機問題,望高手解答
既然你進入系統後沒問題了,那麼就不是顯示卡,記憶體等的問題了。而根據你後半的描述,可能是bios沒電了,換塊電池就好。要還是不行,刷一下。不算貴,50元以下,你可以砍,反正刷bios不要成本,哈哈。我這樣說,我老闆得氣死。一般正規修電腦的店都有刷bios的工具,現在那工具就在我桌上,想幫你都沒法幫。...
弱弱在此問下A卡交火問題!望大神們幫忙解答一下了!感激不盡
lz最好不來 要在網上買,網上源好多顯示卡都是假的。bai都是馬甲。刷出來的du,那些所謂zhi的實測資料,真假難辨。還dao是去實體店去看看,或者百腦匯,自己親手測試,看效果說話,不要聽別人怎麼說,自己試過才知道。因為顯示卡是你自己用,而不是別人。自己的需求,自己清楚。交火還是不要用同樣的兩塊顯示...