Определите, при каком наибольшем введённом значении переменной s программа выведет число 64. Для Вашего удобства программа представлена на четырёх языках программирования. Демо егэ по информатике.
s = int(input()) s = s // 10 n = 1 while s < 51: s = s + 5 n = n * 2 print(n)
Как реализовать программу через поиск s , приняв n за известную? Мои попытки: 1.
s = 50 n = 64 while n != 1: s -=5 n /= 2 print(s)
s = 20 n = 1 while s < 51: s = s + 5 n = n * 2 print(s)
Отслеживать
11.3k 2 2 золотых знака 10 10 серебряных знаков 28 28 бронзовых знаков
задан 24 янв 2021 в 7:57
pointDeceit pointDeceit
15 4 4 бронзовых знака
простите не в тему. на каких 4х языках щас еге сдают ? #ответ на задачу 259 ?
24 янв 2021 в 8:15
что-то не вижу я тут 4х языков.
24 янв 2021 в 8:16
24 янв 2021 в 8:32
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
from math import log n = 64 mult_n = 2 # на сколько умножаем n max_s = 51-1 # s < 51 step_s = 5 # s = s + 5 p = int(log(n, mult_n)) print((max_s-step_s*(p-1))*10+9)
Задание №6 Анализ программ ЕГЭ по Информатике. Разбор заданий ЕГЭ по информатике 2022
Для экономии времени при больших n имеет смысл вывод сделать так:
print(f’9′)
Без модуля math :
def log(x, y): r, c = 1, 0 while r!=x: r *= y c += 1 return c
def check(s): s //= 10 n = 1 while s < 51: s += 5 n *= 2 return n==64 for i in range(519, -1, -1): if check(i): break print(f’Наибольшее s: ‘)
Отслеживать
ответ дан 24 янв 2021 в 8:14
11.3k 2 2 золотых знака 10 10 серебряных знаков 28 28 бронзовых знаков
простите, но в дано s = s // 10 и макс s не 51,а 519
24 янв 2021 в 8:18
24 янв 2021 в 8:19
24 янв 2021 в 8:34
24 янв 2021 в 10:05
24 янв 2021 в 11:00
поскольку ограничения по времени нет, то попробуем перебором через цикл:
def foo(s): #s = int(input()) s = s // 10 n = 1 while s < 51: s = s + 5 n = n * 2 if n==64:return 64 m=0 for i in range (0,519+1): if foo(i)==64: m=i print(‘наибольшее число:’,m)
даны расчёты, их оформляем как функцию.инпут заменяет аргумент функции. далее простым циклом от 0 до 519 перебирвем варианты. m=i без проверки что m больше чем предыдущая изза цикла-он идёт всегда по возрастанию и последнее i будет максимальным.
for i in range (519,8,-1): if foo(i)==64: m=i break
немного оптимизации, как подсказали в комментарии-пустить цикл в обратном направлении.при нахождении ответа сразу завершаем.
Источник: ru.stackoverflow.com
Определите при каком наибольшем введенном значении переменной s программа выведет число 64
Задание ЕГЭ по информатике
Линия заданий — 6
Наслаждайтесь интересным учебником и решайте десятки тестов на Studarium,
мы всегда рады вам! =)
ЕГЭ по информатике 2022 Демо задание №6 (PascalABC, Python)
18848. Определите, при каком наибольшем введённом значении переменной s программа выведет число 64. Для Вашего удобства программа представлена на четырёх языках программирования.
Проверить Показать подсказку
Верный ответ: 259
P.S. Нашли ошибку в задании? Пожалуйста, сообщите о вашей находке 😉
При обращении указывайте id этого вопроса — 18848.
Источник: studarium.ru
Разбор демоверсии ЕГЭ по информатике 2022 (6-10 Задание)
Продолжаем разбор демонстрационного варианта ЕГЭ по информатике 2022.
В этой статье разберём с 6-ого по 10 задание.
Удачи на ЕГЭ по информатике 2022!
Определите, при каком наибольшем введённом значении переменной s программа выведет число 64. Для Вашего удобства программа представлена на четырёх языках программирования.
var s, n: integer; begin readln(s); s := s div 10; n := 1; while s < 51 do begin s := s + 5; n := n * 2 end; writeln(n) end.
s = int(input()) s = s // 10 n = 1 while s < 51: s = s + 5 n = n * 2 print(n)
алг нач цел n, s ввод s s := div(s, 10) n := 1 нц пока s < 51 s := s + 5 n := n * 2 кц вывод n кон
#include using namespace std; int main() < int s, n; cin >> s; s = s / 10; n = 1; while (s < 51) < s = s + 5; n = n * 2; > cout endl; return 0; >
Решим задачу методом перебора на языке программирования Python.
Нас спрашивают, какое наибольшее число должен ввести пользователь программы, чтобы программа распечатала число 64. Мы будем подставлять каждое число в диапазоне, к примеру, от 1 до 1000 и попробуем получить на выходе число 64.
for i in range(1, 1000): s = i s = s // 10 n = 1 while s < 51: s = s + 5 n = n * 2 if n==64: print(i)
Делаем это с помощью цикла. Как только в переменной n будет значение 64, мы печатаем переменную i
Видим, что максимальное число, которое даёт нужный результат это 259.
Для хранения произвольного растрового изображения размером 128 × 320 пикселей отведено 20 Кбайт памяти без учёта размера заголовка файла. Для кодирования цвета каждого пикселя используется одинаковое количество бит, коды пикселей записываются в файл один за другим без промежутков. Какое максимальное количество цветов можно использовать в изображении?
Решение:
Узнаем, сколько информации будет весить один пиксель (одна точка).
Теперь воспользуемся главной формулой для 7 задания из ЕГЭ по информатике.
Ответ: 16
Все четырёхбуквенные слова, в составе которых могут быть только буквы Л, Е, М, У, Р, записаны в алфавитном порядке и пронумерованы, начиная с 1.
Ниже приведено начало списка.
Под каким номером в списке идёт первое слово, которое начинается с буквы Л?
Закодируем в правом столбце буквы цифрами, начиная с нуля.
Дальше кодирование прекращаем, т.к. буквы начинают повторяться.
Если представить список в виде цифр, то получится счёт в пятеричной системе, ведь у нас пять цифр.
1. 0000
2. 0001
3. 0002
4. 0003
5. 0004
6. 0010
В вопросе спрашивают про первое слово, которое начинается с буквы Л. А мы понимаем, что спрашивают про число 10005 в пятеричной системе, потому что это первое число, которое начинается с 1. Длина числа равна 4, т.к. длина слов равна 4.
Переведём число 10005 из пятеричной системы в нашу родную десятичную систему.
0*5 0 + 0*5 1 + 0*5 2 + 1*5 3 = 125
А порядковый номер (столбец слева) отличается от счёта в пятеричной системе на 1. Порядковый номер на 1 больше. Поэтому в ответе напишем 126.
Откройте файл электронной таблицы, содержащей в каждой строке три натуральных числа. Выясните, какое количество троек чисел может являться сторонами треугольника, то есть удовлетворяет неравенству треугольника.
В ответе запишите только число.
Неравенство треугольника заключается в том, что каждая сторона должна быть меньше, чем сумма двух других сторон.
Напротив тех строчек, которые удовлетворяют этому неравенству будем ставить 1, остальным ставим 0.
Сформируем формулу для первой строчки. Кликаем в ячейку D1 и нажимаем кнопку Вставить функцию.
Выбираем функцию ЕСЛИ. Пишем логическое выражение:
В Значение_если_истина ставим 1. В Значение_если_ложь ставим 0.
Если одновременно выполняются три условия, то в ячейку идёт 1, иначе 0.
Распространим формулу на весь столбец. Подведём курсор к правому нижнему углу. Как только загорелся чёрный крестик, кликаем два раза, и формула должна распространится на весь столбец.
Возле тех строчек, которые удовлетворяют условию, будут нули, возле тех, которые нет, будут единицы.
Найдём сумму столбца D. Это и будет количество троек, которые подходят в нашей задаче.
Кликаем по ячейке E1, нажимаем Вставить функцию и выбираем функцию СУММ. Там выбираем столбец D мышкой.
Нажимаем ОК, получается 2453.
Ответ: 2453
С помощью текстового редактора определите, сколько раз, не считая сносок, встречается слово «долг» или «Долг» в тексте романа в стихах А.С. Пушкина «Евгений Онегин». Другие формы слова «долг», такие как «долги», «долгами» и т.д., учитывать не следует. В ответе укажите только число.
Открываем соответствующий файл в программе Word. На вкладке «Главная» находится кнопка «Найти». Кликаем по чёрному треугольнику возле этой кнопки и выбираем «Расширенный поиск».
На вкладке «Главная» находится кнопка «Найти». Кликаем по чёрному треугольнику возле этой кнопки и выбираем «Расширенный поиск».
Далее, нажимаем кнопку «Больше>>».
Теперь у нас есть все инструменты, чтобы решить 10 задание из ЕГЭ по информатике 2022.
В поле «Найти» пишем наше слово «долг». Галочку «Учитывать регистр» не ставим, т.к. слово может быть и с большой буквы. Но ставим галочку «Только слово целом».
Нажимаем Найти в -> «Основной документ».
Получаем ответ 1.
Источник: code-enjoy.ru