-
,這是基本演算法,不是嗎?? 是否有複雜性要求?
如果它們都是相對較小的正整數。
您可以列出從 0 到 n 的陣列,並用 for 標記這些數字。
然後查詢標記的最小數字。
如果沒有,比較也是一次性的。
第乙個數字是最小的。
mix=第乙個數字。
比較。 for i:=1 to n do
if mix>s[i] then mix=s[i]
-
var a:array[1..40000] of integer;
n,min,i:longint;
beginreadln(n);
for i:=1 to n do
read(a[i]);
min:=a[1];
for i:=2 to n do
beginif min>a[i] then begin min:=a[i]; end;
end;writeln(min);
end.注:min表示最小數字,n表示數字個數)。
-
程式**:
program monkey;
type link=^rec;
rec=record
num:integer;
next:link;
end;var p,q,head:link;
m,n,i:integer;
beginwrite('the total number:');readln(m);讀取總數。
write('the elect number:');readln(n);讀取每個躍點的編號。
new(head);head^.num:=1;p:=head;初始化。
for i:=2 to m do beginnew(q);
q^.num:=i;
p^.next:=q;
p:=q;end;
p^.next:=head;
p:=head;
i:=0;repeat
new(q);
q:=p;p:=p^.next;
i:=i+1;
if i=n then begin
i:=0;p^.next:=q^.next;
dispose(q);
end;until p=p^.next;
writeln(p^.num);
readln;
end.
-
program zishu;
var a:array [2..1000] of integer;
b:array [2..1000] of boolean;
i,j:integer;
beginfor i:=2 to 1000 do
begina[i]:=i;
b[i]:=true;
end;i:=1;
repeat
i;=i+1;
if b[i]=true then
for j:=2 to 1000 div ib[j*i]:=false;
until i=1000;
for i:=2 to 1000 do
if b[i]=true then write(a[i],' ');
end.快速給分)。
如果您有任何問題,請尋求建議。
-
var i,k,n:longint;
beginreadln(n);
for i:=1 to n do
if(n mod i = 0)then
inc(k,i);
writeln(k);
end.我不知道篩選方法是否指的是這個。
-
我只聽說過找到質數。
lz 會做一些類似親和力號碼的事情,然後找時間嗎?
-
賞金點數: 0 ...
這注定你得不到乙個好的答案。
-
讓我問一下,你是不知道演算法還是只是不知道如何用 pascal 實現它? 如果是後者我就做不到了,因為這個拆解我只知道怎麼計算,路橋娜不知道帕斯卡的語法。。
100是乙個特定的數字嗎?
如果它是 0 100,你可以生成 16 個隨機數,然後你可以判斷它。 >>>More
如果還剩下乙個數字,那就是 64。
2 的 n-1 次方(而 n 來自 99 2-1 = 44, 44 2 = 22, 22 2-1 = 10, 10 2 = 5, 5 2-1 = 2, 2 2 = 1;總共六次中只有乙個數字,即 n = 6,剩下的數字是 2 的 5 = 64 的冪。 >>>More