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

Информатика олимпиада 7 класс​


Информатика олимпиада 7 класс​

Показать ответ
Ответ:
малый6
малый6
12.09.2020 18:05
Деление до конца без штрафов возможно, если количество орехов в кучке будет какой-либо степенью двойки (2, 4, 8, 16, 32, 64, 128, 256, 512). Число 1057 - нечетно, следовательно, его можно представить <четное>+<нечетное>. При делении 1056+1 получим первый штраф. Число 1056 не является степенью двойки, поэтому необходимо опять поделить орехи на неравные кучки: 1024+32 (второй штраф). 1024 и 32 - степени двойки, значит дальнейшее разделение можно выполнить без штрафов.
Можно делить, например, так:
1. 1024 и 33 ореха (штраф 1 рубль)
2. 33 делим на 2 кучки: 32 и 1 (штраф 1 рубль)
3 и все следующие операции: кучки из 1024 и 32 орехов делим на равные кучки (1024: 512 и 512, 512: 256 и 256, 256: 128 и 128, 128: 64 и 64, 64: 32 и 32, 32: 16 и 16 и т.д.).
Получаем, что минимальная сумма штрафа = 2 рубля.
0,0(0 оценок)
Ответ:
evaklchn
evaklchn
19.02.2023 13:50
Очень простой алгоритм, на самом деле.

На псевдокоде:
1. Сначала нам нужно ввести с клавиатуры три числа.
2. Когда ввели, присваиваем переменной max значение a. Предположим, что большее значение в a, и дальше по программе будем проверять это. max := a.
3. Проверяем, b > max? Если да, то присваиваем переменной max значение b. 
4. Проверяем, max < c? Если да, то присваиваем max значение c.
5. Выводим max. 

 
Реализация Basic:

INPUT a
INPUT b
INPUT c
max = a
IF b > max THEN max = b
IF max < c THEN max = c
PRINT max
END

C#:

Внутри главного метода.

int max;
int a = int.Parse(Console.ReadLine());
int b = int.Parse(Console.ReadLine());
int c = int.Parse(Console.ReadLine());
max = a;

if (b > max)
{
max = b;
}

if (max < c){
max = с;
}

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