首页| 论坛| 消息
主题:NOIP2009 提高组问题求解和阅读程序题
hjwz发表于 2009-10-17 17:46
问题求解(doc文件) 求解第1题答案(据称),见2楼
阅读程序PAS文件(RAR压缩包)
第一题:var a,b:integer;
function work(a,b:integer):integer;
begin
if a mod b 0 then
work:=work(b,a mod b)
else
work:=b;
end;
begin
read(a,b);
writeln(work(a,b));
end.输入:123 321
输出:_________
key:3
第二题:
var a,b:array[0..3] of integer;
i,j,tmp:integer;
begin
for i:=0 to 3 do
read(b);
for i:=0 to 3 do
begin
a:=0;
for j:=0 to i do
begin
inc(a,b[j]);
inc(b[a mod 4],a[j]);
end;
end;
tmp:=1;
for i:=0 to 3 do
begin
a:=a mod 10;
b:=b mod 10;
tmp:=tmp*(a+b);
end;
writeln(tmp);
end.
输入:2 3 5 7
输出:____________
key: 5850
第三题:
const y=2009;
maxn=50;
var
n,i,j,s:longint;
c:array[0..maxn,0..maxn] of longint;
begin
s:=0;
read(n);
c[0,0]:=1;
for i:=1 to n do
begin
c[i,0]:=1;
for j:=1 to i-1 do
c[i,j]:=c[i-1,j-1]+c[i-1,j];
c[i,i]:=1;
end;
for i:=0 to n do
s:=(s+c[n,i]) mod y;
write(s);
end.输入:17
输出:________
key:487
第四题:var n,m,i,j,k,p:integer;
a,b:array[0..100] of integer;
begin
read(n,m);
a[0]:=n;
i:=0; p:=0; k:=0;
repeat
for j:=0 to i-1 do
if a=a[j] then
begin
p:=1; k:=j;
break;
end;
if p0 then break;
b:=a div m;
a[i+1]:=(a mod m)*10;
inc(i); <
下一页 (1/3)
回帖(2):
2楼:顶,,和我做的一样
1楼:program toponum;
var a:array[0..1000,0..1000]of longint;
ind:array[1 ..

--> 全部回帖(2)»
最新回帖
收藏本帖
发新帖