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

2 Напиши программу на следующие задачи А) После увеличения цены альбома на 25% он стал стоить а рублей. Сколько стоил альбом первоначально.
Б) В книге В страниц. В первый день Саша прочитал 20% книг, а во второй - половину остатка. Сколько страниц прочитал Саша за эти два дня?
В) Цена телевизора с А рублей снизилась до В рублей. На сколько процентов снизилась цена телевизора?

Показать ответ
Ответ:
zajcevaalisa
zajcevaalisa
16.07.2021 14:43

Не знаю, как с алгоритмом, а находить остатки деления на 3, 4, 8 можно по признакам делимости.

1) n mod 3

Число делится на 3, если сумма его цифр кратна трем.

Пусть дано число 373412. Его сумма цифр 3+7+3+4+1+2 = 20. 20 на 3 не делится, но делится 18 (ближайшее меньшее). Разница 2 - это и есть нужный ответ. 373412 мод 3 = 2

2) n mod 4

Число делится на 4, если две его последние цифры нули или делятся на 4. Пусть дано число 37535627345. Его две последние цифры 45. 45 на 4 не делится, но делится 44. Разница 1. Это и есть ответ. 37535627345 mod 4 = 1

3) n mod 8

Самый сложный вариант. 8 = 4х2. Как и для случая получения остатка по mod 4 получаем остаток по двум последним цифрам. Далее, если третья справа цифра нечетная, добавляем к результату 4.

45684373 mod 8. Для числа 73 находим остаток от деления на 4. На 4 делится 72, так что остаток тут 1. Перед 73 стоит нечетная цифра 3, поэтому добавляем 4, итого 1+4=5. 45684373 mod 8 = 5.

878746345242 mod 8. 42 mod 4 =2 (уже не буду подробно писать). Перед 42 стоит 2 - четное число. Результат не меняем. 878746345242 mod 8 = 2.

Так что ничего волшебного.

0,0(0 оценок)
Ответ:
zverok21rus
zverok21rus
20.08.2022 11:59

program HelloWorld;

var a: array of integer;

var N, min, max, i, variable:integer;

begin

   min := 32767;

   max := 0;

   readln(N);

   for i := 0 to N do begin  

       readln(variable);

       if (variable > 0) and (variable mod 2 = 0) and (variable > max) then

           max := variable;

       if (variable > 0) and (variable mod 2 = 0) and (variable < min) then

           min := variable;

   end;

   if (max <> 0) and (min <> 32767) then

       writeln(min, ' ', max)

   else  

       writeln(-1);

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота