Ë㷨ϰÌâ¼°½â´ð ÏÂÔØ±¾ÎÄ

begin

m:=1; y:=y+1; end; end; exit; end;

if (y mod 4=0)and(m=2) then begin

flag:=29; en d

else begin

case m of

1,3,5,7,8,10,12:flag:=31; 4,6,9,11:flag:=30; 2:flag:=28; end; end;

if d>flag then begin

d:=1; m:=m+1;

if m=13 then begin

m:=1; y:=y+1; end; end; end;

begin

assign(input,'BIRTHDAY.DAT'); assign

(output,'BIRTHDAY.OUT'); reset(input); rewrite(output); read(y); read(m); read(d);

for i:=1 to 10000 do begin

incdate(); end;

write(y,'-',m,'-',d); close(input); close(output); end.

265¡¢ ·Ö½âÒòʽ ( Factor ) ÎÊÌâÃèÊö£º

Ò»¸ö×ÔÈ»ÊýNµÄÕýÒò×Ó¸öÊý¼ÇΪF(N)£¬ÀýÈç18µÄËùÓÐÕýÒò×ÓΪ1¡¢2¡¢3¡¢6¡¢9¡¢18£¬ËùÒÔF(18)=6¡£ÏÖÔÚ¸ø³öK£¬ÇóËùÓÐÂú×ãF(N)=KµÄNÖÐ×îСµÄÊý¡£

ÊäÈë¸ñʽ£º

´ÓÎļþ¶ÁÈëÊý¾Ý£¬µÚÒ»ÐÐΪK£¬ÆäÖÐ0

Êä³ö¸ñʽ£º

Êä³öµ½ÎļþµÚÒ»ÐУ¬Èç¹û´æÔÚ²»´óÓÚ20000µÄ½â£¬ÔòÊä³öÕâ¸öN£¬·ñÔòÊä³ö¡°NO SOLUTION¡±¡£

ÑùÀý1£º

FACTOR.DAT FACTOR.OUT 9ÑùÀý2£º

FACTOR.DAT FACTOR. var

i:longint; n:integer;

function getfactor(x:longint):integer; var

m:longint; r:integer; begin

r:=0;

for m:=1 to x do begin

if x mod m=0 then r:=r+1; end;

getfactor:=r; end;

begin

assign(input,'FACTOR.DAT'); assign(output,'FACTOR.OUT'); reset(input); rewrite(output); read(n);

for i:=1 to 20000 do begin {writeln(i);}

if getfactor(i)=n then begin

write(i); close(input); close(output); halt; end; end;

write('NO SOLUTION'); close(input); close(output); end. 266

¡¢ KºÃÊý£¨K-Good Number£© ÎÊÌâÃèÊö£º

Èç¹ûÒ»¸ö×ÔÈ»ÊýNµÄK½øÖƱíʾÖÐÈÎÒâµÄÏàÁÚµÄÁ½Î»¶¼²»ÊÇÏàÁÚµÄÊý×Ö£¬ÄÇôÎÒÃǾÍ˵Õâ¸öÊýÊÇKºÃÊý¡£ÇóLλK½øÖÆÊýÖÐKºÃÊýµÄÊýÄ¿¡£ÀýÈçK = 4£¬L = 2µÄʱºò£¬ËùÓÐKºÃÊýΪ11¡¢13¡¢20¡¢22¡¢30¡¢31¡¢33 ¹²7¸ö¡£¸ø¶¨K¡¢L£¬ÇóLλKºÃÊýµÄÊýÄ¿¡£

ÊäÈë¸ñʽ£º

´ÓÎļþ¶ÁÈëÊý¾Ý£¬µÚÒ»ÐÐΪK¡¢£Ì£¬ÆäÖÐK<=16£¬L<=10¡£

Êä³ö¸ñʽ£º

½«½á¹ûÊä³öµ½ KGOOD.OUT ÑùÀý

KGOOD.DAT KGOOD.OUT 4 2 7 var

k,l,n:integer;

a:array [1..16] of integer; test:boolean;

procedure getnum(i:integer); var

m,j,s:integer; begin

if i=1 then s:=1 else

s:=0;

for m:=s to k-1 do begin

a[i]:=m; if i=l then begin

test:=true;

for j:=1 to l-1 do begin

if (a[j]-a[j+1])*(a[j]-a[j+1])=1 then begin

test:=false; end; end;

if test then begin

n:=n+1; end; end else begin

getnum(i+1); end; end; end;

begin

assign(input,'KGOOD.DAT'); assign(output,'KGOOD.OUT');

reset(input);

rewrite(output); read(k); read(l);

for n:=1 to l do begin

a[n]:=0; end; n:=0;

getnum(1); write(n); close(input); close(output); end.

267¡¢SramocÎÊÌâ ( Sramoc Problem ) ÎÊÌâÃèÊö£º

Sramoc ( K , M ) ±íʾÓÃÊý×Ö0¡¢1¡¢£²?¡¢K-1×é³ÉµÄ×ÔÈ»ÊýÖÐÄܱ»MÕû³ýµÄ×îСÊý¡£¸ø¶¨ K¡¢M£¬ÇóSramoc ( K,M )¡£ÀýÈç K=2£¬M=7µÄʱºò£¬Sramoc( 2 , 7 ) = 1001¡£

ÊäÈë¸ñʽ£º

´ÓÎļþSRAMOC.DAT¶ÁÈëÊý¾Ý¡£µÚÒ»ÐÐΪÁ½¸öÕûÊýK¡¢MÂú×ã2<=K<=10¡¢1<=M<=1000¡£

Êä³ö¸ñʽ£º

Êä³öSramoc(K,M) µ½ SRAMOC.OUT¡£ ÑùÀý

SRAMOC.DA

T SRAMOC.OUT 2 7 1001 var

k,m,n,l:integer; a1,a2:longint;

a:array [1..100] of integer; test:boolean;

procedure getnum(i:integer); var

j,x:integer; s:longint; begin

if test then exit; for x:=0 to k-1 do begin

a[i]:=x; if i=l then begin

s:=0;

for j:=1 to l do

s:=s*10+a[j]; if s=0 then continue;

if s mod m=0 then begin

test:=true; n:=s; break; end; end else begin