Таких систем исчисления всего две. Основание а = 9 и основание а =367, но в системе с основанием 367 проблематично записывать числа (символов не хватит). Если число 3306(10) в системе исчисления с основанием а заканчивается цифрой 3, то тогда число 3303 делится на основание системы а. Отсюда алгоритм поиска. Находим все делители числа 3303. 3303 = 3*1101 = 3*3*367. Число 367 - простое. Поэтому основаниями системы исчисления могут быть только 3, 9, 367. Основание =3 не подходит, так как по условию число должно заканчиваться на 3 -> основание больше 3. Остаются 9, 367.
Если ввести X или Y значительно больше чем Z то программа на втором или тертьем условии выдаст false и закончит свою работу ничего не написав. Например: если указать X = 10 , Y = 2, Z = 3; то на первом условии будет true, потому что 10 +2 > 3 , но на третьем условии выдаст false потому что 2+3 < 10 но так как ничего не прописано на этот случай программа просто закончит свою работу. Что бы исправить этот баг необходимо все условия свести в одно: if ((x + y > z)and (x + z > y) and (y + z > x) ) then writeln('треугольник построить можно') else writeln('треугольник построить нельзя'); end.
Это решение так же является ответом на 3-й вопрос.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку