主题:求教小田甜
liziyang96
[专家分:0] 发布于 2008-09-12 13:55:00
请教下面题的程序:
集合M的元素的定义如下:
(1) 数1属于M;
(2) 若X属于M, 则A=2X+1, B=3X+1, C=5X+1, 也属于M;
(3) 再没有别的数属于M。(M={1,3,4,6,7,9,10,13,15,16...,如果M中的元素是按递增次序排列的,求出其中的第201,202和203个元素。
回复列表 (共5个回复)
沙发
游侠UFO [专家分:1200] 发布于 2008-09-12 16:57:00
开个数组来推吧 - -
板凳
wangzhongqi96 [专家分:40] 发布于 2009-02-05 00:21:00
先求出来205个数,然后用优化冒泡,如果两书相等,把后一个数变为0,最后writeln('201:',a[201]);writeln('202:',a[202]);writeln('203:',a[203]);这题我也做过
3 楼
angwuy [专家分:2280] 发布于 2009-02-05 13:30:00
开个堆吧
4 楼
小小DAVID [专家分:300] 发布于 2010-03-14 17:22:00
对!有道理
5 楼
w75317 [专家分:530] 发布于 2010-03-15 20:26:00
program jihe(input,output);
var
i,j,x,y,n,b:integer;
a:array[1..1000]of integer;
begin
read(n);
a[1]:=1;
x:=1;y:=1; b:=1;
repeat
b:=b+1;
i:=a[x]*2+1;
j:=a[y]*3+1;
if i<j
then
begin
x:=x+1;
a[b]:=i;
end
else
begin
y:=y+1;
a[b]:=j;
end;
until b=n;
for i:=1 to n do
write(a[i],' ');
end.
这样边做边比较边排序,不懂就问你老师吧。
我来回复