Вихідні дані:
Обсяг спожитої електроенергії за розрахунковий період (календарний місяць) – 196 кВт*год.
Тарифи на електричну енергію:
І блок (до 100 кВт∙год. (включно)) – 36,6 коп./кВт∙год;
ІІ блок (понад 100 кВт∙год. до 600 кВт∙год. (включно)) - 63 коп./кВт∙год;
ІІІ блок (понад 600 кВт∙год.) – 140,7 коп./кВт∙год
Вартість спожитої електроенергії за розрахунковий період (календарний місяць) з ПДВ:
100 × 0,366 + 96× 0,63 = 97,08 грн.
За наявності пільги - 50% при нормі пільгового споживання на місяць – 90 кВт*год. розрахунок буде наступним:
вартість обсягу електроенергії в межах І блоку з врахуванням пільги:
90×0,366×0,5 + 10×0,366 + = 20,13 грн;
вартість обсягу електроенергії в межах ІІ блоку:
96×0,63 = 60,48 грн.
Вартість спожитої електроенергії за розрахунковий період (календарний місяць) з ПДВ:
20,13 + 60,48 = 80,61 грн.
Так как язык не указан, приведу пример на SWI-Prolog.
Код:
read_int(Int) :- read(Int), integer(Int).split_int_by_numbers(0, []) :- !.split_int_by_numbers(N, [Number|Ints]) :- Number is mod(N, 10), RestN is div(N, 10), split_int_by_numbers(RestN, Ints).test_to_div(_, []).test_to_div(N, [Number|Ints]) :- mod(N, Number) =:= 0, test_to_div(N, Ints). test(Int) :- split_int_by_numbers(Int, Numbers), test_to_div(Int, Numbers), write(Int), write(" - Yes!"), nl.test(Int) :- write(Int), write(" - No!"), nl.?- read_int(Int), test(Int).
