Так как язык не указан, приведу пример на 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).
// PascalABC.NET 3.2, сборка 1356 от 04.12.2016
var
i,j,s:integer;
begin
// задание 1
s:=0;
for i:=1 to 10 do s:=s+i*i;
Writeln(s);
// задание 2
j:=0;
for i:=1 to 50 do
if i mod 2=0 then j:=j+1;
Writeln(j)
end.
Результат
385
25
А вот так можно это решить по-нормальному за минуту.
// PascalABC.NET 3.2, сборка 1356 от 04.12.2016
// Внимание! Если программа не работает, обновите версию!
begin
Writeln(1.To(10).Select(i->i*i).Sum); // задание 1
Writeln(Range(2,50,2).Count) // задание 2
end.
Результат
385
25