Задание №1. Дано положительное целое число N. Если какая-либо цифра заданного числа равна нулю, то остановите цикл и в результате выведите «Error», в противном слу- чае отобразите само число в обрат- ном порядке.
Сначала стоит немного подумать над задачей, а не писать "в лоб".
Если число кратно 2 и одновременно 3, то оно кратно и их произведению, т.е. 2 х 3 = 6. Ближайшее число, превышающее 10 и кратное 6 - это 12. Начинаем от него и идем с шагом 6, пока не превысим 99.
1. Так можно решить по-современному:
// PascalABC.NET 3.1, сборка 1190 от 05.03.2016 begin Writeln('Искомая сумма равна ',Range(12,99,6).Sum) end.
Результат выполнения программы Искомая сумма равна 810
2. А так - "по-школьному":
// PascalABC.NET 3.1, сборка 1190 от 05.03.2016 var i,s:integer; begin i:=12; s:=0; while i<=99 do begin s:=s+i; i:=i+6 end; Writeln('Искомая сумма равна ',s) end.
1024. высота каждого дерева может принимать два значения. (+/- 1 метр от высоты предыдущего, т.е известие, что последующие дерево выше предыдущего на 1 метр несет 1 бит информации) соответственнр основание системы счисления буде равно двум. Количество разрядов (бит) в комбинации 10 (т.к. 11 дерево всегда неизменно по высоте 100м). Применяем формулу Хартли: N=2^k. (т.к. вероятность того, что последующие дерево будет на метр выше такая же, что оно будет на метр ниже). 2^10 = 1024. Всего возможно 1024 комбинаций таких садов.
while True:
N = input('Введите натуральное число: ')
if not N.isdigit():
print('Число должно быть типа int! Попробуйте еще раз.')
else:
N = int(N)
break
M = 0
while N != 0:
digit = N % 10
if digit == 0:
M = 'Error'
break
M = 10*M + digit
N //= 10
print(M)