Инф олимпиада doc


Есептің алгоритмдік шешуі



бет63/66
Дата08.02.2022
өлшемі91,93 Kb.
#123795
1   ...   58   59   60   61   62   63   64   65   66
Байланысты:
1544775476 (1)

Есептің алгоритмдік шешуі: бұл есепте берілген ақынның туылған күні айы, жылы мен ағымдағы күн, ай, жыл айырмашылығын есепке аламыз. Одан төмендегі шарттар туындайды:
Kyn2-kyn 1<=0
Ai2-ai1<=0
Gil2 mod 4=0 болса, онда ақпан 29-ына бітеді. Егер gil2-gil1 mod 10=9 онда, мерейтойға әлі жылға жуық уақыт бар болып, мына шарт арқылы тексереміз. Gil2 mod 4=3 then b[2]:=29;
Program mereitoi;
Uses crt;
Label 1;
Const b: array[1..12] of integer=(31,28,31,30,31,30,31,31,30,31,30,31);
Var s,r,m: string;
Q,I,j,n,k,,l,p,gil2,kyn1,kyn2,ail,ai2: integer;
Begin
Clrscr; assign(input,”input.in”)
Reset(input);
Readln(s); readln(r);
Close(input);
Assign(output,”output.out”);
Rewrite(output);
K:=pos(“.”,s); m:=copy(s,l,k-1); delete(s,1,k);
Val(m,kyn1,q);k:=post(“.”,s); m:=copy(s,l,k-1);
Delete(s,l,k); val(m,ail,q);val(s,gil1,q);
K:=pos(“.”,r): m:=copy(r,l,k-1);delete(r,l,k);
Val(m,kyn2,q);k:=pos(“.”,r); m:=cope(r-1,k-1);
Delete(r,l,k);val(m,ai2,q);
Var(r,gil2,q);p:=gil2-gil1;
Q:=p mod 10; p=0;
If q=9 then begin
If (gil2 mod 4=3) or ((ai2<3) and (gil2 mod 4=0)) then b[2]:=29;
K:b[ai2]-kyn2;
For i:=ai2+1 to 12 do
P:=p+b[i];
For i:=1 to ail-1 do
P:= p+b[i]; p:=p+kyn1+k;
Goto 1; end;
If (ai1<=ai2) and (kyn2>= kyn1) then begin writeln(“toilanyda”); exit; end;
If (ai1<=ai2) and (kyn1>= kyn2) then begin p:=kyn1-kyn2; goto 1; end;
P:=gil2 mod 4;
If p=0 then b[2]:=29;
Q:=ai1-ai2; k:=b[ai2]- kyn2;
If q=1 then begin p:=k+kyn1; goto 1; end;
Q:=0;
For i:=ai2+1 to ai1-1 do
Q:=q+b[i];p:=k+q+kyn1;
L:writeln(p);
Close(output);
End.



  1. Достарыңызбен бөлісу:
1   ...   58   59   60   61   62   63   64   65   66




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет