-
,这是基本算法,不是吗?? 是否有复杂性要求?
如果它们都是相对较小的正整数。
您可以列出从 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