Напишите программу, которая перебирает целые числа, большие 2 920 573, в порядке возрастания и ищет среди них числа, представленные в виде произведения ровно двух простых множителей, не обязательно…
- 1
Находим простые числа, в записи которых ровно одна цифра 9, и перебираем их произведения, начиная с чисел, больших 2 920 573.
- 2
Первое подходящее произведение — квадрат простого числа 1709.$$1709\cdot1709=2920681$$
Ещё 4 қадам — толық шешімде
Пусть $M$ — сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение $M$ равным нулю. Напишите…
- 1
Для каждого числа $n$ ищем его наименьший делитель $p$, больший единицы. Если делителей, кроме 1 и самого числа, нет, значение $M$ равно нулю.$$M = 0$$
- 2
Если $p$ найден, то максимальный собственный делитель числа равен $n/p$, поэтому вычисляем значение $M$.$$M = p + \dfrac{n}{p}$$
Ещё 1 қадам — толық шешімде
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: символ «?» означает ровно одну произвольную цифру; символ «*» означает любую последовательность…
- 1
Рассмотрим все числа, соответствующие маске 2*1?5?1 и не превышающие $10^8$. Проверяем варианты с пустой, одноразрядной и двухразрядной последовательностью вместо символа «*».
- 2
Для семизначного варианта число имеет вид $210501+1000a+10b$. Перебор цифр $a$ и $b$ с проверкой делимости на 1921 даёт число 213231.
Ещё 2 қадам — толық шешімде
Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена на пяти языках программирования.
- 1
В начале работы программы $s = 0$ и $n = 0$. На каждой итерации $s$ увеличивается на $8$, а $n$ — на $2$.$$s = 8k,\quad n = 2k$$
- 2
Найдём минимальное число итераций, при котором условие $s < 91$ перестанет выполняться:$$8k \geq 91 \Rightarrow k \geq 11{,}375$$
Ещё 1 қадам — толық шешімде
В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 9. Значения элементов равны 9, 1, 2, 3, 4, 5, 6, 7, 8, 0 соответственно, то есть $A[0] = 9$, $A[1] = 1$ и т. д…
- 1
Изначально массив имеет вид $[9, 1, 2, 3, 4, 5, 6, 7, 8, 0]$, а $s = 0$.
- 2
При $j = 0$ условие $9 < 1$ ложно, обмена нет.
Ещё 3 қадам — толық шешімде
На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$. Сначала строится двоичная запись числа $N$. Если сумма цифр в двоичной записи чётная, справа дописывается…
- 1
Последовательно проверим небольшие значения $N$. Для $N=1,2,3,4,5,6,7$ получаются значения $R$, не превосходящие $19$.$$R_1=3,\ R_2=7,\ R_3=4,\ R_4=13,\ R_5=10,\ R_6=8,\ R_7=15$$
- 2
Для $N=8$ двоичная запись имеет нечётную сумму цифр. Справа дописываем $1$, затем заменяем два левых разряда на $11$.$$8_{10}=1000_2\to10001_2\to11001_2$$
Ещё 1 қадам — толық шешімде
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать натуральные значения от 1 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит…
- 1
Для поиска минимума среди элементов, кратных 4, перебираем все элементы массива и проверяем условие делимости без остатка.$$a[i] \bmod 4 = 0$$
- 2
Переменную j первоначально задаём равной 10001 — числу, превосходящему максимальное возможное значение элемента массива. При нахождении подходящего элемента меньшего значения обновляем j.
Ещё 2 қадам — толық шешімде
На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$ следующим образом. Строится двоичная запись числа $N$. Если сумма цифр в двоичной записи числа чётная, к…
- 1
Проверим значения $N$ начиная с наименьших. Для каждого числа строим двоичную запись и применяем указанное правило.
- 2
Для чисел от 1 до 10 получаются следующие значения: $R(1)=11$, $R(2)=7$, $R(3)=4$, $R(4)=13$, $R(5)=10$, $R(6)=8$, $R(7)=15$, $R(8)=25$, $R(9)=18$, $R(10)=20$. Ни одно из них не больше 29.
Ещё 2 қадам — толық шешімде
Цепочки символов (строки) создаются по следующему правилу. Первая строка состоит из одного символа — цифры «1». Каждая из последующих цепочек создаётся следующим действием: в очередную строку дважды…
- 1
Пусть $a_n$ — количество нечётных цифр в $n$-й строке. При переходе к следующей строке предыдущая строка записывается дважды.$$a_n = 2a_{n-1} + d(n)$$
- 2
Здесь $d(n)$ — количество нечётных цифр в записи числа $n$. Для чисел от 2 до 8 значения $d(n)$ равны $0, 1, 0, 1, 0, 1, 0$ соответственно.$$a_1=1$$
Ещё 1 қадам — толық шешімде
Пусть $R$ — сумма различных натуральных делителей целого числа, не считая единицы и самого числа. Напишите программу, которая перебирает целые числа, большие $500\,000$, в порядке возрастания и ищет…
- 1
Перебираем числа, начиная с $500001$, и для каждого вычисляем сумму его собственных делителей.
- 2
Для числа $500022 = 2 \cdot 3^2 \cdot 27779$ сумма всех делителей равна $3 \cdot 13 \cdot 27780 = 1083420$, поэтому $R = 1083420 - 1 - 500022 = 583397$.
Ещё 1 қадам — толық шешімде
В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 9. Значения элементов равны 2, 6, 4, 7, 3, 9, 1, 8, 0, 5 соответственно, то есть $A[0]=2$, $A[1]=6$ и так далее…
- 1
В начале $c=0$, а $A[9]=5$. При $i=0$ значение $A[0]=2$ не больше 5, поэтому обмена нет.
- 2
При $i=1$: $A[1]=6>5$. Увеличиваем $c$ до 1 и меняем местами 6 и 5. Теперь $A[9]=6$.
Ещё 3 қадам — толық шешімде
Запишите число, которое будет напечатано в результате выполнения программы. В программе переменные $s$ и $n$ принимают начальные значения $0$ и $86$. Пока $s < 71$, выполняются команды $s := s + 8$…
- 1
На каждом шаге значение $s$ увеличивается на $8$, а значение $n$ уменьшается на $3$.
- 2
Определим количество повторений цикла. После восьми повторений $s = 8 \cdot 8 = 64$, условие $s < 71$ ещё выполняется. После девятого повторения $s = 72$, поэтому цикл завершится.$$k = 9$$
Ещё 1 қадам — толық шешімде
Запишите число, которое будет напечатано в результате выполнения следующей программы. Для удобства программа представлена на пяти языках программирования.
- 1
В начале работы программы $s = 100$, $n = 1$. На каждой итерации $s$ делится на $4$ нацело, а $n$ умножается на $2$.$$s \leftarrow s // 4,\quad n \leftarrow 2n$$
- 2
Последовательно получаем значения переменной $s$:$$100 \to 25 \to 6 \to 1 \to 0$$
Ещё 1 қадам — толық шешімде
Напишите программу, которая перебирает целые числа, большие 600000, в порядке возрастания и ищет среди них такие, у которых есть натуральный делитель, оканчивающийся на цифру 8 и не равный ни самому…
- 1
Последовательно проверяем целые числа, большие 600000, и перебираем их делители от наименьшего к наибольшему.
- 2
Для числа 600012 наименьший подходящий делитель — 18.
Ещё 4 қадам — толық шешімде
В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 10. Значения элементов равны $4, 2, 7, 5, 9, 1, 10, 0, 3, 8, 6$ соответственно. Определите значение переменной $c$…
- 1
В начале $c=0$, $A[0]=4$. При $i=1$ имеем $A[1]=2$, условие не выполняется.
- 2
При $i=2$: $A[2]=7>4$. Увеличиваем $c$ до 1 и меняем элементы местами, поэтому $A[0]=7$.
Ещё 3 қадам — толық шешімде
В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 9. Значения элементов равны $2, 5, 4, 7, 3, 9, 1, 8, 0, 6$ соответственно. Определите значение переменной $c$ после…
- 1
Изначально $A[9] = 6$, а $c = 0$. При $i = 0, 1, 2$ значения массива меньше 6, поэтому обмена нет.
- 2
При $i = 3$: $A[3] = 7 > 6$. Увеличиваем $c$ до 1 и меняем элементы местами. Теперь $A[9] = 7$.
Ещё 2 қадам — толық шешімде
Напишите программу, которая перебирает целые числа, большие 500000, в порядке возрастания и ищет среди них такие, у которых есть натуральный делитель, оканчивающийся на цифру 8 и не равный ни самому…
- 1
Перебираем целые числа, большие 500000, и для каждого ищем делители, оканчивающиеся на цифру 8. Само число и делитель 8 исключаются.
- 2
Число 500004 делится на 18, поэтому первая найденная пара — 500004 и 18.$$500004 \div 18 = 27778$$
Ещё 2 қадам — толық шешімде
На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$ следующим образом. Сначала строится двоичная запись числа $N$. Если число $N$ чётное, к этой записи справа и…
- 1
Перебираем небольшие значения $N$ и строим соответствующие двоичные записи числа $R$. Для чётного числа к записи $N$ приписываются две единицы слева и две единицы справа.
- 2
Для $N=6$ получаем $6_{10}=110_2$. После обработки имеем жазба $11\,110\,11=1111011_2$.
Ещё 2 қадам — толық шешімде
На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$ следующим образом. 1. Строится двоичная запись числа $N$. 2. Далее эта запись обрабатывается по следующему…
- 1
Проверим значения $N$ от 1 до 12. Для чётных чисел слева приписывается 10, а для нечётных — 1 слева и 01 справа.
- 2
Для наибольшего подходящего нечётного числа $N=11$ имеем $11_{10}=1011_2$. После обработки получается двоичная запись $1101101_2$.$$1+1011+01=1101101_2$$
Ещё 2 қадам — толық шешімде
В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 10. Фрагмент программы вычисляет сумму выражений $A[i] - A[i+1]$ при $i$ от 0 до 9. В начале выполнения в массиве…
- 1
Цикл выполняется для $i$ от 0 до 9, поэтому переменная $s$ равна сумме разностей соседних элементов массива.$$s=(A[0]-A[1])+(A[1]-A[2])+\dots+(A[9]-A[10])$$
- 2
Все промежуточные элементы сокращаются попарно.$$s=A[0]-A[10]$$
Ещё 1 қадам — толық шешімде