两道Pascal小问题,跪求答案!!!!!!!!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/30 13:46:33
下面几题,能做几道就做几道。要有过程!!!!!!求求各位了
1.已知:1到10中有两个数1、7不能被2,3,5整除,那么1到1000中有多少个数不能被2,3,5 整除?

2. 一个栈(无穷大)的进栈序列为1,2,3,..n,有多少种不同的出栈序列? 如n=3时,出栈序列有
1,2,3
1,3,2
2,1,3
2,3,1
3,2,1
共5种,问:当n=5时的出栈种数是多少(只求种数)?
过程,一定要过程!!!!!求求各位了,再过几天就要初赛了!!
O(∩_∩)O谢谢

1.容斥原理
两种方法
1) 1000-[1000/2]-[1000/3]-[1000/5]+[1000/(2*3)]+[1000/(2*5)]+[1000/(3*5)]-[1000/(2*3*5)]
=1000-500-333-200+166+100+66-33
=266
2) [1000*(1/2)*(2/3)*(4/5)]=266
中括号是取整
2.卡特兰数c(2n,n)/n+1
c(10,5)/6
=10!/5!/5!/6
=10*9*8*7/5/4/3/2
=42
跟楼上怎么不一样?

第2条 C(n,2n)/n+1, 当n=5是为7

var
i,num:integer;
begin
for i:=1 to 1000 do
if (i mod 2<>0) and (i mod 3<>0) and (i mod 5<>0) then begin write(i,' '); inc(num); end;
end.
呃~~第二题不会~~
还是我的标准