主题:猴子是二阶等差级数
我是严天雯
[专家分:110] 发布于 2006-12-10 14:38:00
有N只猴子选大王,选举的办法:排成一排,从头到尾报数,报道3的倍数(3,6,9...)的退出,知道全报完,然后又从头开始,同样3的倍数退出。第3遍又是从头到尾进行,第4次又从头到尾,最剩下2只,以排在后面(按报数的顺序)的那只为大王。编程找出猴王的位置(N从键盘输入)
将M*N的矩阵转换成N*M的矩阵输出.
1,2,4,7......是二阶等差级数,因为它们后项减前项的差均组成等差级数1,2,3,......找出5组 每组4个相邻的素数,其中每一组都构成二阶等差级数的4个相邻的项.
回复列表 (共5个回复)
沙发
zhangyuan [专家分:630] 发布于 2006-12-10 14:40:00
猴子这道题我以前做过:
var
i,m,k,j:integer;a:array [1..100]of 0..1;ok:boolean;
begin
read(m);for i:=1 to m do
a[i]:=1;k:=0;
repeat ok:=false;
for i:=1 to m do
if a[i]=1
then
begin
k:=k+1;j:=i;
if k mod 3=0
then
begin
a[i]:=0;
ok:=true;k:=0;
end
end;
until not(ok);
write (j)
end.
板凳
我是严天雯 [专家分:110] 发布于 2006-12-10 15:11:00
没人会做第二题?????????????????????????????????????????????????????????????????????????????????????????????????
3 楼
我是严天雯 [专家分:110] 发布于 2006-12-10 15:12:00
[color=FF00FF][color=00FF00][size=6]…………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………[/size][/color][/color]
4 楼
sss333 [专家分:340] 发布于 2006-12-16 15:47:00
垃圾贴
5 楼
雪光风剑 [专家分:27190] 发布于 2006-12-16 17:17:00
第二题也很简单嘛
构造一个生成x以上最小素数的函数makeprime(x)
和一个验证4个连续素数是否满足二阶等差级数的函数ok(a,b,c,d)
解放在answer[5][4]
伪代码是:
a=makeprime(1)
b=makeprime(a)
c=makeprime(b)
d=makeprime(c)
i=1
do
if ok(a,b,c,d)
answer[i][1]=a
answer[i][2]=b
answer[i][3]=c
answer[i][4]=d
i=i+1
a=b
b=c
c=d
d=makeprime(c)
while(i<5)
后面打印结果
makeprime(x)
这个算法很简单了,用死循环把x每次+1穷举并且判断是否为素数,如果是素数就直接返回x
ok(a,b,c,d)
设立一个临时变量s,t,u
s=b-a
t=c-b
u=d-c
if t-s=u-t return 1
return 0
我来回复