Задачи для Андрея
Восемь новых задач
33
Хакер Василий получил доступ к классному журналу и хочет заменить все свои минимальные оценки на максимальные. Напишите программу, которая заменяет оценки Василия, но наоборот (все максимальные - на минимальные).
34
Спортсмен Василий участвовал в соревнованиях по хоккейболу и получил в личном зачете серебряную медаль. Известно, что участники, получившие одинаковое количество очков, награждаются одинаковыми наградами. Известно, что были разыграны золотые серебряные и бронзовые медали. В задаче не спрашиваются правила хоккейбола. Необходимо только определить сколько очков набрал Василий.
35
Петя впервые пришел на урок физкультуры в новой школе. Перед началом урока ученики выстраиваются по росту, в порядке невозрастания. Напишите программу, которая определит на какое место в шеренге Пете нужно встать, чтобы не нарушить традицию, если заранее известен рост каждого ученика и эти данные уже расположены по невозрастанию (то есть каждое следующее число не больше предыдущего). Если в классе есть несколько учеников с таким же ростом, как у Пети, то программа должна расположить его после них.
36
Напишите программу, которая выбирает из массива все простые числа в другой массив. Если в исходном массиве нет простых чисел, программа должна вывести число 0.
37
Пара элементов в массиве называется симметричной , если эти элементы находятся на одинаковом расстоянии от концов массива. Так в массиве размером N симметричными будут пары элементов с порядковыми номерами 1 и N , 2 и N - 1 и т.д. (при нумерации с единицы). Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [ A , B ] и определяет номера двух симметричных элементов этого массива, сумма которых чётная и максимальная среди всех пар симметричных элементов. Если ни одной такой пары нет, нужно вывести два нуля. Если есть несколько таких пар, нужно вывести номера элементов, составляющих пару, ближайшую к центру массива.
38
Реверс массива – это перестановка элементов в обратном порядке: меняются местами первый и последний элементы, второй и предпоследний и т.д. Напишите программу, которая выполняет реверс двух половин массива по отдельности.
39
В одной компьютерной игре игрок выставляет в линию шарики разных цветов. Когда образуется непрерывная цепочка из трех и более шариков одного цвета, она удаляется из линии. Все шарики при этом сдвигаются друг к другу, и ситуация может повториться. Напишите программу, которая по данной ситуации определяет, сколько шариков будет сейчас "уничтожено". Естественно, непрерывных цепочек из трех и более одноцветных шаров в начальный момент может быть не более одной.
40
Напишите программу, которая выполняет "сжатие массива" – переставляет все нулевые элементы в конец массива. При этом все ненулевые элементы располагаются в начале массива в том же порядке.
Бохатые планы
- Динамическое программирование
- Задачи на рекурсию
- Двумерные массивы
- Сортировки
- Двоичный поиск
- Алгоритмы
- Структуры
Архив
29.06.17
1
Напишите программу, которая определяет, попала ли точка с заданными координатами в заштрихованную область.
2
Напишите программу, которая определяет, верно ли, что введённое число содержит две одинаковых цифры, стоящие рядом (как, например, 221).
30.06.17
3
Напишите программу, которая "разворачивает" число наоборот, например, из числа 123 строит число 321. Используйте функцию для выполнения этой операции.
4
Напишите программу, которая вводит натуральное число N , затем – N целых чисел, и вычисляет их сумму и произведение.
01.07.17
5
Напишите программу, которая переводит переданное её целое число (возможно, отрицательное) в заданную систему счисления с любым основанием от 2 до 9. Используйте процедуру.
6
Дружественные числа — это два натуральных числа, таких, что сумма всех делителей одного числа (меньших самого этого числа) равна другому числу, и наоборот. Напишите программу, которая находит все пары дружественных чисел в заданном диапазоне. Используйте функцию, которая вычисляет сумму делителей числа.
02.07.17
7
Напишите программу, которая переводит переданное ей неотрицательное целое число в 10-значный восьмеричный код, сохранив лидирующие нули. Используйте процедуру.
8
Ряд чисел Фибоначчи задается следующим образом: первые два числа равны 1 ( F(1) = F(2) = 1 ), а каждое следующее равно сумме двух предыдущих: F(i) = F(i - 1) + F(i - 2) . Напишите программу, которая вводит натуральное число N и выводит первые N чисел Фибоначчи..
03.07.17
9
Совершенным называется число, равное сумме всех своих делителей, меньших его самого (например, число 6=1+2+3). Напишите программу, которая вводит натуральное число N и определяет, является ли число N совершенным. Используйте логическую функцию.
10
Битовый код для точки с координатами ( x , y ) состоит из четырех битов, каждый из которых показывает, входит ли точка в одну из заштрихованных областей. Первый по счёту бит определяет, входит ли точка в область а (см. рисунок), второй третий и четвёртый биты отвечают за попадание точки соответственно в области б, в и г. Напишите программу, которая выводит битовый код точки с заданными координатами.
04.07.17
11
Напишите программу, которая переводит переданное её целое число (возможно, отрицательное) в заданную систему счисления с любым основанием от 2 до 36. Используйте процедуру.
12
Наименьшее общее кратное (НОК) двух натуральных чисел – это наименьшее число, которое делится нацело на оба исходных числа. Напишите программу, которая вычисляет НОК двух чисел. Используйте функцию.
05.07.17
13
Простое число называется гиперпростым, если любое число, получающееся из него откидыванием нескольких последних цифр, тоже является простым. Например, число 733 – гиперпростое, так как и оно само, и числа 73 и 7 -– простые. Напишите программу, которая определяет, верно ли, что переданное ей число N – гиперпростое. Используйте функции. Учтите, что число 1 не считается простым.
14
Напишите программу, которая находит максимальную цифру в десятичной записи числа.
06.07.17
15
Напишите программу, которая заполняет массив квадратами натуральных чисел от 1 до N.
16
Напишите программу, которая заполняет массив из N элементов в обратном порядке последовательными натуральными числами, начиная с последнего элемента, который должен быть равен X.
07.07.17
17
Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [A, B] и определяет количество элементов этого массива, у которых вторая цифра в десятичной записи (число десятков) – чётная.
18
Напишите программу, которая заполняет массив из N элементов степенями числа 2, начиная с 21 до 2N , в обратном порядке.
08.07.17
19
Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [A, B] и определяет количество элементов этого массива, у которых сумма цифр равна K.
20
Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [A, B] и определяет максимальный среди чётных положительных элементов этого массива.
21
Напишите программу, которая заполняет массив из N элементов членами арифметической прогрессии с начальным значением X и разностью D.
22
Напишите программу, которая заполняет массив из N элементов степенями числа 2, начиная с 2^1 до 2^N , в обратном порядке.
23
Ряд чисел Фибоначчи задается следующим образом: первые два числа равны 1 ( F(1) = F(2) = 1 ), а каждое следующее равно сумму двух предыдущих: F(i) = F(i - 1) + F(i - 2) . Напишите программу, которая вводит натуральное число N и заполняет массив из N элементов первыми N числами Фибоначчи.
24
Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [A, B] и определяет среднее арифметическое элементов этого массива
25
Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [A, B] и определяет среднее арифметическое всех элементов этого массива, которые меньше 50, и среднее арифметическое всех остальных элементов.
26
Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [A, B] и определяет номера двух соседних элементов этого массива, имеющих минимальную сумму. Если таких пар несколько, нужно вывести номера элементов самой последней пары.
27
Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [A, B] и определяет номера двух элементов этого массива, которые расположены ближе всех друг к другу на числовой оси. Эти элементы не обязательно должны быть расположены рядом друг с другом. Если таких пар несколько, нужно вывести номера элементов самой последней из таких найденных пар.
28
Напишите программу, которая выводит номера элементов массива, равных заданному значению X.
29
Напишите программу, которая находит в массиве количество элементов, равных максимальному.
30
Напишите программу, которая находит в массиве минимальный и максимальный из чётных положительных элементов.
31
Напишите программу, которая переставляет соседние элементы массива: 1-й со 2-м, 3-й с 4-м и т.д. Нумерация элементов начинается с единицы.
32
Напишите программу, которая выполняет реверс массива: меняет местами первый и последний элементы, второй и предпоследний и т.д.