OINF-CLUB
Գլխավոր
Մուտք
Գրանցվել
Կիրակի, 17.12.2017, 16:39Ողջունում եմ ձեզ հյուր | RSS
[ Նոր հաղորդագրություններ · Մասնակիցներ · Ֆորումի կանոնները · Որոնում · RSS ]
Страница 1 из 11
Ֆորում » Խնդիրների վերլուծություններ » 2010-2011 ուս.տարվա հանրապետական օլիմպիադա, Շիրակի մարզ, տարածքայի փուլ: » ՄԵԿ ՔԱՅԼ ՀԵՌՈւ ԵՐՋԱՆԿՈւԹՅՈւՆԻՑ (FORTUNE)
ՄԵԿ ՔԱՅԼ ՀԵՌՈւ ԵՐՋԱՆԿՈւԹՅՈւՆԻՑ (FORTUNE)
oinf-clubДата: Չորեքշաբթի, 23.02.2011, 21:53 | Сообщение # 1
Կայքի հիմնադիր
Группа: Ադմինիստրատորներ
Сообщений: 19
Репутация: 10
Статус: Օֆլայն
ԽՆԴՐԻ ՎԵՐԼՈւԾՈւԹՅՈւՆԸ

Խնդրի լուծման համար անհրաժեշտ է ստեղծել տրամաբանական ֆունկցիա, որը կստուգի տրված վեցանիշ թվի "երջանիկ" լինելը:
Իսկ "մեկ քայլ հեռու լինելը" հեշտությամբ կարելի ստուգել բաղադրյալ տրամաբանական արտահայտության օգնությամբ:

Code
VAR N:LONGINT;
FUNCTION FORTUNE(X:LONGINT):BOOLEAN;
VAR S1,S2,I: INTEGER;
BEGIN
       S1:=0;
       FOR I:=1 TO 3 DO
       BEGIN
            S1:=S1+X MOD 10;
            X:=X DIV 10
       END;
       S2:=0;
       FOR I:=1 TO 3 DO
       BEGIN
            S2:=S2+X MOD 10;
            X:=X DIV 10
       END;
       FORTUNE:=S1=S2
END;
BEGIN
       ASSIGN(INPUT,'INPUT.TXT');
       RESET(INPUT);
       ASSIGN(OUTPUT,'OUTPUT.TXT');
       REWRITE(OUTPUT);
       READ(N);
       IF FORTUNE(N-1) OR FORTUNE(N+1) THEN WRITELN('YES') ELSE WRITELN('NO')
END.

Ֆունկցիան կարելի է սահմանել նաև, օգտվելով հետևյալ բանաձևերից:
Դիցուք` N=abcdef, ապա

a=[N/100000],
b=[(N-100000a)/10000],
c=[(N-100000a-10000b)/1000],
d=[(N-100000a-10000b-1000c)/100],
e=[(N-100000a-10000b-1000c-100d)/10],
f=N-100000a-10000b-1000c-100d-10e:

 
Ֆորում » Խնդիրների վերլուծություններ » 2010-2011 ուս.տարվա հանրապետական օլիմպիադա, Շիրակի մարզ, տարածքայի փուլ: » ՄԵԿ ՔԱՅԼ ՀԵՌՈւ ԵՐՋԱՆԿՈւԹՅՈւՆԻՑ (FORTUNE)
Страница 1 из 11
Поиск:


Copyright Արամ Հովհաննիսյան © 2017