Var a: string; al: word; i: integer; begin writeln ('введите число'); readln (i); for i: =1 to length(a) do begin write (chr (al)); end; end. что не так? пишут, что параметр цикла for должен описываться в заголовке цикла
Треугольник существует, если a < (b+c), b < (a+c), c < (a + b) Он равносторонний, если a=b=c Он равнобедренный, если a=b!=c, a=c!=b, b=c!=a (!= всмысле не равно) Иначе произвольный Разве не очевидно?
Програмка на питоне: https://pastebin.com/raw/fKQqvfDb Там я сначала проверяю, что треугольник существует, потом проверяю, что две его любые стороны равны. Если при этом ещё и сумма всех сторон делённая на 3 равна одной из них, то они все равны => он равносторонний. Иначе он равнобедренный. Если условие про равенство двух сторон не выполняется, то он - произвольный. Как упростить - не знаю.
Так как язык не указан, приведу пример на 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).