В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Kirakler2000
Kirakler2000
28.05.2023 16:58 •  Информатика

Вволшебной книге злой колдуньи гингемы все страницы пронумерованы числами, являющимися целыми степенями двойки (1, 2, 4, 8, 16, … причем номера страниц идут по возрастанию и каждая степень встречается ровно один раз.
для того чтобы наслать очередной ураган гингема вырвала из книги несколько страниц, сложила числа, записанные на них, получила в результате число 123456789, после чего произнесла волшебное заклинание столько раз, сколько вырвала страниц. чтобы остановить ураган, нужно узнать, сколько страниц вырвала из книги гингема. элли и ее друзьям найти ответ на этот вопрос.

Показать ответ
Ответ:
KsyLisa
KsyLisa
31.10.2020 02:09
Тут есть несколько вариантов, как это можно записать:

Если номера месяцев не превысят 12, то есть имеются ввиду только месяцы одного года, то вот так:

Var
N:integer;
Begin
WriteLn('Введите номер месяца');
ReadLn(N);
if (N = 12)or(N = 1)or(N = 2) then WriteLn('Зима') //если N = 12, 1 или 2, то выводим 'Зима', иначе идём по следующей ветке if, проверяем следующее условие
else if (N = 3)or(N = 4)or(N = 5) then WriteLn('Весна') // тут точно также N = 3, 4 или 5, если нет - то проверяем следующее условие
else if (N = 6)or(N = 7)or(N = 8) then WriteLn('Лето')
else if (N = 9)or(N = 10)or(N = 11) then WriteLn('Осень')
End.

Если же номер месяца может превысить 12, то перед проверкой нужно найти остаток от деления этого числа на количество месяцев, то есть на 12. При этом остаток от деления 12 на 12 = 0.

Var
N:integer;
Begin
WriteLn('Введите номер месяца');
ReadLn(N);
N:= N mod 12;
if (N = 0)or(N = 1)or(N = 2) then WriteLn('Зима')
else if (N = 3)or(N = 4)or(N = 5) then WriteLn('Весна')
else if (N = 6)or(N = 7)or(N = 8) then WriteLn('Лето')
else if (N = 9)or(N = 10)or(N = 11) then WriteLn('Осень')
End.

Эти же самые условия можно записать иначе:
if (N>=0)and(N<=2) then
или:
if (N>=0)and(N<3) then
0,0(0 оценок)
Ответ:
arianadorofeva
arianadorofeva
24.08.2022 06:23
Var
N,C,k,d:integer;
Begin
Write('N = ');ReadLn(N);
For N:= 1 to N do
    Begin
    C:=N;
    k:=0;
    d:=0;
    While C<>0 do
       Begin
       k:=k+1;
       if C mod 10 <> 0 then
          if N mod (C mod 10) = 0 then d:=d+1;
       C:= C div 10
       End;
    if d=k then Write(N,' ')    
    End;
End.

Пример:

N = 2017
1 2 3 4 5 6 7 8 9 11 12 15 22 24 33 36 44 48 55 66 77 88 99 111 112 115 122 124 126 128 132 135 144 155 162 168 175 184 212 216 222 224 244 248 264 288 312 315 324 333 336 366 384 396 412 424 432 444 448 488 515 555 612 624 636 648 666 672 728 735 777 784 816 824 848 864 888 936 999 1111 1112 1113 1115 1116 1122 1124 1128 1131 1144 1155 1164 1176 1184 1197 1212 1222 1224 1236 1244 1248 1266 1288 1296 1311 1326 1332 1335 1344 1362 1368 1395 1412 1416 1424 1444 1448 1464 1488 1515 1555 1575 1626 1632 1644 1662 1692 1715 1722 1764 1771 1824 1848 1888 1926 1935 1944 1962
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота