Напишите программу которая ищет среди целых чисел принадлежащих числовому отрезку 312614 312651
Перейти к содержимому

Напишите программу которая ищет среди целых чисел принадлежащих числовому отрезку 312614 312651

  • автор:

ЕГЭ. Информатика. 25 задание.

Маска числа — это последовательность цифр, в которой могут встречаться специальные символы «?» и «*». Символ «?» означает ровно одну произвольную цифру, символ «*» означает произвольную (в том числе пустую) последовательность цифр.

Пример. Маске 123*4? 5 соответствуют числа 123 405 и 12 376 415.

Найдите все натуральные числа, не превышающие 1010, которые соответствуют маске 1? 493*41 и при этом без остатка делятся на 2023. В ответе запишите все найденные числа в порядке возрастания.

срочно ! решить на питоне, спасибо.
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [245 690; 245 756] простые числа. Выведите на экран все найденные простые числа в порядке возрастания, слева от каждого числа выведите его порядковый номер в последовательности. Каждая пара чисел должна быть выведена в отдельной строке.

Например, в диапазоне [5; 9] ровно два различных натуральных простых числа — это числа 5 и 7, поэтому для этого диапазона вывод на экране должна содержать следующие значения:
1 5
3 7
Примечание. Простое число — натуральное число, имеющее ровно два различных натуральных делителя — единицу и самого себя.

Python-сообщество

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку 244143 1367821, числа, имеющие ровно 5 различных делителей. В ответе для каждого найденного числа запишите два его наибольших делителя, не равных самому числу, в порядке возрастания. Я написал вот такую программу. Но ответы, то ли не выводит, то ли долго считает. Напишите плиз где у меня ошибка.Заранее спасибо

Отредактировано Lee (Март 26, 2021 11:07:07)

#2 Март 26, 2021 11:05:04

Задача егэ информатика

#3 Март 26, 2021 11:07:40

Задача егэ информатика

Да, моя ошибка, исправил но все равно считает очень долго

#4 Март 26, 2021 11:45:40

Задача егэ информатика

Естевенно, давайте еще подумаем
вот вы пишете

Отредактировано PEHDOM (Март 26, 2021 11:53:40)

#5 Март 26, 2021 12:01:14

Задача егэ информатика

Можете пожалуйтса изменить мой код и скинуть
Просто когда я написал int(sqrt(n)) +1,то у меня просто начало выводить все числа

#6 Март 26, 2021 13:03:44

Задача егэ информатика

Отредактировано PEHDOM (Март 26, 2021 14:06:21)

#7 Март 26, 2021 19:00:54

Задача егэ информатика

Спасибо огромное.
+rep
Только можете еще раз обьяснить зачем n//d?

Питон 25 задание егэ как решать

Решение на python задач с номером 25 из демо вариантов егэ по информатике

Решение на Python задачи 25 на программирование из демоверсии егэ по информатике за 2019 год

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать натуральные значения от 1 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит минимум среди элементов массива, не делящихся нацело на 6, а затем заменяет каждый элемент, не делящийся нацело на 6, на число, равное найденному минимуму. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки. Например, для исходного массива из шести элементов: 14 6 11 18 9 24 программа должна вывести следующий массив 9 6 9 18 9 24
Организуем ввод массива заданной длины с клавиатуры. Подробно о работе с массивами в Python
a = []
n=30
for i in range(0, n):
a.append(int(input()))
Введем переменную для определения минимума для числа не делящегося на 6, вначале программы присвоим ей максимально возможное значение
min=10000
В цикле for переберем все элементы массива. С помощью оператора условия If определим делится ли данный элемента на 6 (чтобы элемент не делился на 6 необходимо выполнение условии a[i]%6!=0 )и является ли он меньше текущего минимума(a[i]<min). Если данное двойное условие выполняется, то текущему минимуму присваиваем значение данного элемента массива (min=a[i]). Чтобы двойное условие в If выполнялось необходимо использовать логическую операцию and
min=10000
for i in range(0, n):
if a[i]%6!=0 and a[i]<min:
min=a[i]
Чтобы заменить все элементы массива не кратные 6 на найденный минимум в новом цикле for перебираем все элементы массива и с помощью оператора If проверяем не делится ли на 6 данный элемент, если делится то заменяем его на min, в этом же цикле и выводим на экран элементы массива
for i in range(0, n):
if a[i]%6!=0:
a[i]=min
print(a[i])
Полная программа на python для задачи 25 из демо версии егэ по информатике за 2019 год
a = []
n=30
for i in range(0, n):
a.append(int(input()))
min=10000
for i in range(0, n):
if a[i]%6!=0 and a[i]<min:
min=a[i]
for i in range(0, n):
if a[i]%6!=0:
a[i]=min
print(a[i])

Решение на Python задачи 25 на программирование из демоверсии егэ по информатике за 2018 год

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит количество элементов массива, больших 100 и при этом кратных 5, а затем заменяет каждый такой элемент на число, равное найденному количеству. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести измененный массив, каждый элемент массива выводится с новой строчки. Например, для массива из шести элементов: 4 115 7 195 25 106 программа должна вывести числа 4 2 7 2 25 106
Организуем ввод массива заданной длины с клавиатуры
a = []
n=30
for i in range(0, n):
a.append(int(input()))
Введем переменную k в которую будем записывать количество элементов массива делящихся на 5 и которые больше 100. Изначально k=0
В цикле for переберем все элементы массива. С помощью оператора условия If определим делится ли данный элемента на 5(чтобы элемент делился на 5, необходимо выполнение условия a[i]%5==0 )и больше ли данный элемент 100 (a[i]>100) Чтобы выполнялись оба условия одновременно , необходимо использовать в условном операторе if логическую операцию and. Если оба условия выполняются, то увеличиваем количество счетчик элементов на 1 (k=k+1)
k=0
for i in range(0, n):
if (a[i]%5==0 and a[i]>100):
k=k+1

Чтобы заменить все элементы массива кратные 5 на определенное количество k ,в новом цикле for перебираем все элементы массива и с помощью оператора If проверяем, чтобы данный элемент массива делился на 5 и был больше 100. Если оба условия выполняются, то заменяем данный элемент массива на k.
for i in range(0, n):
if (a[i]%5==0 and a[i]>100):
a[i]=k
print(a[i])

Полная программа на python для задачи 25 из демо версии егэ по информатике за 2018 год
a = []
n=30
for i in range(0, n):
a.append(int(input()))
k=0
for i in range(0, n):
if (a[i]%5==0 and a[i]>100):
k=k+1
for i in range(0, n):
if (a[i]%5==0 and a[i]>100):
a[i]=k
print(a[i])
Решение на Python задачи 25 на программирование из демоверсии егэ по информатике за 2017 год
Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых десятичная запись хотя бы одного числа оканчивается на 2. В данной задаче под парой подразумевается два подряд идущих элемента массива. Например, для массива из пяти элементов: 16 3 142 55 22 – ответ: 3.
Организуем стандартный ввод массива заданной длины с клавиатуры в python
a = []
n=40
for i in range(0, n):
a.append(int(input()))
Введем переменную k — счетчик нужных нам пар элементов массива
В цикле for в диапазоне от 1 до n-1 будем перебирать пары элементов массива . Пара соседних элементов это a[i] и a[i+1]
Чтобы получить последнюю цифру в десятичной записи числа нужно найти остаток от деления на 10 данного числа. В python для определения остатка числа используется операция %
последняя цифра числа=число % 10
Нам необходимо проверить для каждой пары элементов массива оканчивается ли хотя бы одно число из пары на 2. Чтобы проверить выполнение хотя бы одного условия в операторе if, используется логическая операция or (ИЛИ). Если хотя бы одно условие выполняется, то увеличиваем счетчик пар на 1
k=0
for i in range(1, n-1):
if (a[i]%10==2 or a[i+1]%10==2):
k=k+1
Полная программа на python для задачи 25 из демо версии егэ по информатике за 2017 год
a = []
n=40
for i in range(0, n):
a.append(int(input()))
k=0
for i in range(1, n-1):
if (a[i]%10==2 or a[i+1]%10==2):
k=k+1
print(k)

Полезно почитать по теме решение задач егэ по информатике на массивы

ЕГЭ по информатике 2021 — Задание 25 (Обработка целочисленной информации)

Всем привет! Пришло время разбора 25 задания из ЕГЭ по информатике 2021.

Это задание требует умение программировать на каком-нибудь языке программирования, который разрешён на ЕГЭ по информатике 2021.

Приступим к практике решения примерных задач из ЕГЭ по информатике 2021.

Задача (Демонстрационный вариант ЕГЭ по информатике 2021)

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [174457; 174505], числа, имеющие ровно два различных натуральных делителя, не считая единицы и самого числа. Для каждого найденного числа запишите эти два делителя в таблицу на экране с новой строки в порядке возрастания произведения этих двух делителей. Делители в строке таблицы также должны следовать в порядке возрастания.

Например, в диапазоне [5; 9] ровно два целых различных натуральных делителя имеют числа 6 и 8, поэтому для этого диапазона таблица на экране должна содержать следующие значения:

Пример ответа ЕГЭ по информатике 2021 Демо Задание 25

Напишем программу в Pascal ABC.

Здесь мы перебираем все числа из нашего диапазона с помощью цикла for.

Для каждого числа устанавливаем первоначальные значения (переменные d1, d2, count). Переменная d1 — отвечает за первый делитель, переменная d2 — за второй, переменная count — за количество делителей.

Вторым циклом for мы проверяем для конкретного числа из диапазона, какие у него делители.

Достаточно проверить значения до «половины числа». Значения, которые больше «половины числа» не могут быть делителем числа (Кроме самого числа, но в условии написано, что само число не нужно засчитывать, как делитель).

Если d1=1, значит, мы нашли первый делитель, иначе второй делитель.

Если значение переменной count больше, чем 2, то можно выйти из цикла, и проверять следующее число из диапазона.

Печатаем делители числа и их произведение, если значение переменной count равно 2.

После запуска программы получаем ответ.

3 58153
7 24923
59 2957
13 13421
149 1171
5 34897
211 827
2 87251

Разберём ещё одну примерную задачу из ЕГЭ по информатике 2021.

Задача (Цифры делителя)

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [33167; 33203], числа, имеющие хотя бы один натуральный трёхзначный делитель, у которого первая цифра и последняя цифра равны. Для каждого найденного числа запишите сначала само число, а затем найденный делитель в таблицу на экране с новой строки. Если таких делителей несколько, запишите наибольший.

Сами числа записать в порядке возрастания.

Например, в диапазоне [1000; 1010] ровно два целых числа, удовлетворяющих условию задачи. Поэтому для этого диапазона таблица на экране должна содержать следующие значения:

1008 252
1010 505

Напишем программу для решения данной задачки.

Делители должны быть трёхзначные, поэтому перебираем числа от 100 до 999. Проверяем, является ли число делителем для конкретного числа i из диапазона [33167; 33203]. Конструкция (j mod 10 = j div 100) проверяет равны ли первая цифра и последняя у натурального трёхзначного числа.

После запуска программы получаем ответ.

33170 535
33174 171
33176 232
33178 626
33180 474
33182 353
33184 272
33189 111
33197 373

Продолжаем подготовку к 25 заданию из ЕГЭ по информатике 2021.

Задача (Максимальное количество делителей)

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [32633; 32900], ровно два числа, имеющих максимальное количество натуральных делителей. Для каждого найденного числа запишите сначала само число, а затем количество делителей в таблицу на экране с новой строки.

Сами числа запишите в порядке возрастания.

Например, в диапазоне [1; 10] ровно два целых числа, удовлетворяющих условию задачи. Поэтому для этого диапазона таблица на экране должна содержать следующие значения:

6 4
8 4

Программа для данной задачи будет следующая:

Раз нам нужно написать два числа, то заводим две переменные n1 и n2, а так же count_1 и count_2, где будут сохраняться количество делителей. В переменной count хранится количество делителей для каждого числа.

Механизм поиска двух максимальных значений: Проверяем больше ли переменная count, чем count_1. Если да, то нужно проверить, а вдруг она больше и чем count_2. Если она больше, чем count_2, мы значение, которое было в count_2 перекладываем в переменную count_1, а «победившее» count_2 значение записываем в саму переменную count_2.

Значения для переменных n1 и n2 в нашей задаче так же меняются, как и значения для переменных count_1 и count_2.

В конце мы прибавляем к переменным count_1 и count_2 по единице. Это делается из-за того, что мы проверяем числа до половины на то, являются ли они делители или нет. Но нужно учесть, что сами числа являются так же делителями.

32640 64
32760 96

Задача (Закрепление материала)

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [11166; 11241], числа, имеющие ровно три различных натуральных делителя, не считая единицы и самого числа, которые начинаются на цифру 1. Для каждого найденного числа запишите эти три делителя в таблицу на экране с новой строки в порядке возрастания произведения этих двух делителей. Делители в строке таблицы также должны следовать в порядке возрастания.

Например, в диапазоне [1; 100] таких числа ровно два, 60 и 90, поэтому для этого диапазона таблица на экране должна содержать следующие значения:

10 12 15
10 15 18

Задача похоже на демонстрационную версию ЕГЭ по информатике.

Механизм определения трёх делителей берём из первой задачки.

Чтобы узнать первую цифру, например, числа 543, нужно применить операцию целочисленного деления 543 div 100 = 5. Поэтому формируем переменную с со значением 10^len и с помощью неё проверяем первую цифру.

ЕГЭ информатика 25 задание(python). Что не так в моей программе?

Задание:
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [312614; 312651], числа, имеющие ровно шесть различных натуральных делителей. Для каждого найденного числа запишите эти шесть делителей в шесть соседних столбцов на экране с новой строки. Делители в строке должны следовать в порядке возрастания.

Например, в диапазоне [12; 15] ровно шесть различных натуральных делителей имеет число 12, поэтому для этого диапазона вывод на экране должна содержать следующие значения:

1 3 9 34739 104217 312651
Не знаю в чем причина. До этого абсолютно идентичная программа только с другими числами выводила все на ура

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *