Program even_factors; var i, n: integer; begin write('Число: '); readln(n); i := 1; while (i * i) <= n do begin if (n mod i = 0) and (i mod 2 = 1) then begin write(i, ' '); if (n div i) mod 2 = 1 then write(n div i, ' '); end; i := i + 1; end; end.
Укажу часть решения (на все, увы, нет времени, работать надо - и как бы вы меня не уговаривали, все же сделаю это на паскале, но если нужно будет - исправлю под плюсы):
1) Чтобы проверить, является ли треугольник равносторонним, нужно узнать, равны ли все его стороны: if (a = b) and (b = c) then writeln('TRUE') else writeln('FALSE');
2) У равнобедренного треугольника должны быть равны две стороны: if (a =b) or (b = c) or (a = c) then writeln('TRUE') else writeln('FALSE');
3) Для существования треугольника сумма любых его двух сторон должна быть больше третьей: if (a + b > c) and (a + c > b) and (b + c > a) then writeln('TRUE') else writeln('FALSE');
4) Тут всё просто, первая четверть это неотрицательные значения для осей абсцисс и ординат: if (a >= 0) and (b >= 0) then writeln('TRUE') else writeln('FALSE');
С последним разберешься сам, там тоже несложно. В единую программу, надеюсь, сможет восьмиклассник собрать части кода?
1616 + (пример числа 888 - 8+8=16 и 8+8=16 записываем 16 16 в порядке невозрастания) 979 9+7=16 и 7+9=16) 169 + (пример числа 790 7+9=16 и 9+0=9 записываем 16 и 9 в порядке невозрастания (убывания) 169 163 - (чтобы получить 16 нужно сложить (9 и 7) или (8 и 8) или (7 и 9) больше нет вариантов, тогда вторая цифра (7 или 8 или 9) плюс третья цифра какого-то числа в сумме должна получиться цифра 3 (такого быть не может) 1916 - (19 не можем получить, если взять максимальные цифры 9 и 9 получим только 18) 1619 - нарушение второго пункта (должно быть записано в порядке убывания) 316 - (если рассматривать 31 и 6 не может быть и если рассматривать 3 и 16 нарушение п.2) 916 - (см пункт 2) 116 + (пример числа 651 6+5=11 и 5+1=6 записываем 11 и 6 в порядке убывания (невозрастания) 11 6) В итоге получаем три числа
var
i, n: integer;
begin
write('Число: ');
readln(n);
i := 1;
while (i * i) <= n do
begin
if (n mod i = 0) and (i mod 2 = 1) then
begin
write(i, ' ');
if (n div i) mod 2 = 1 then
write(n div i, ' ');
end;
i := i + 1;
end;
end.