Так как язык не указан, приведу пример на 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).На вход подаются p1, q1 – числитель и знаменатель первой дроби; p2, q2 – числитель и знаменатель второй дроби. Общий знаменатель q = q1 * q2, дополнительные множители q2 и q1. Итоговая формула p1/q1 + p2/q2 = (p1 q2 + p2 q1)/(q1 q2).
var p1, p2, q1, q2: integer;
begin
read(p1, q1);
read(p2, q2);
write(p1 * q2 + p2 * q1, ' ', q1 * q2)
end.
Пример ввода:
3 4
1 2
Пример вывода:
10 8
Задача 7var x, y: real;
begin
read(x);
y := x * x;
y := 1 - y + 5 * y * y;
write(y * y);
end.
Пример ввода:
0.75
Пример вывода:
4.07850647
у=15 икс=14 н=33
Объяснение:
алаоаьвивовокрктк