1) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать натуральные значения от 1 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит минимум среди элементов массива, не делящихся нацело на 6, а затем заменяет каждый элемент, не делящийся нацело на 6, на число, равное найденному минимуму. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.
Например, для исходного массива из шести элементов: 14 6 11 18 9 24
программа должна вывести следующий массив 9 6 9 18 9 24
# допускается также # использовать две # целочисленные переменные j и k a = [] n = 30 for i in range(0, n): a.append(int(input())) ...
const n = 30; var a: array [1..n] of longint; i, j, k: longint; begin for i := 1 to n do readln(a[i]); ... end.
#include <iostream> using namespace std; const int n = 30; int main() { long a[n]; long i, j, k; for (i = 0; i < n; i++) cin >> a[i]; ... return 0; }
2) Дан целочисленный массив из 1000 элементов. Элементы массива могут принимать положительные значения до 10000 включительно. Опишите на одном из языков программирования алгоритм, который уменьшает все четные значения массива на одно и то же значение, при этом минимальный из них должен стать равным 2.
В качестве результата необходимо вывести измененный массив, каждый элемент массива выводится с новой строчки.
Например, для массива из шести элементов: 37 86 57 14 45 58
программа должна вывести числа 37 74 57 2 45 46
# допускается также # использовать две # целочисленные переменные j и k a = [ ] n = 1000 for i in range(0, n): a.append(int(input())) ...
const n = 1000; var a: array [1..n] of integer; i, j, k: integer; begin for i := 1 to n do readln(a[i]); ... end.
#include <iostream> using namespace std; const int n = 1000; int main() { int a[n]; int i, j, k; for (i = 0; i < n; i++) cin >> a[i]; ... return 0; }
3) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на одном из языков программирования алгоритм, который находит количество элементов массива, больших 100 и при этом кратных 5, а затем заменяет каждый такой элемент на число, равное найденному количеству. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести измененный массив, каждый элемент массива выводится с новой строчки.
Например, для массива из шести элементов: 4 115 7 195 25 106
программа должна вывести числа 4 2 7 2 25 106
# допускается также # использовать две # целочисленные переменные j и k a = [ ] n = 30 for i in range(0, n): a.append(int(input())) ...
const N = 30; var a: array [1..N] of integer; i, j, k: integer; begin for i := 1 to N do readln(a[i]); ... end.
#include <iostream> using namespace std; const int N = 30; int main() { int a[N]; int i, j, k; for (i = 0; i < N; i++) cin >> a[i]; ... return 0; }
4) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 1000. Опишите на русском языке или на одном из языков программирования алгоритм, позволяющий найти среднее арифметическое нечётных трехзначных чисел, записанных в этом массива. Если ни одного такого числа нет, нужно вывести -1.
# допускается также # использовать две # целочисленные переменные j и s a = [ ] n = 30 for i in range(0, n): a.append(int(input())) ...
const N = 30; var a: array [1..N] of integer; i, j, s: integer; begin for i := 1 to N do readln(a[i]); ... end.
#include <iostream> using namespace std; const int N = 30; int main() { int a[N]; int i, j, s; for (i = 0; i < N; i++) cin >> a[i]; ... return 0; }
5) Дан массив, содержащий 101 неотрицательных целых чисел, не превышающих 10000. Опишите на одном из языков программирования алгоритм, позволяющий найти и вывести сумму всех содержащихся в массиве трёхзначных чисел, десятичная запись которых оканчивается на 7, но не на 77. Если подходящих чисел в массиве нет, программа должна вывести число –1.
# допускается также # использовать две # целочисленные переменные j и s a = [ ] n = 101 for i in range(0, n): a.append(int(input())) ...
const N = 101; var a: array [1..N] of integer; i, j, s: integer; begin for i := 1 to N do readln(a[i]); ... end.
#include <iostream> using namespace std; const int N = 101; int main() { int a[N]; int i, j, s; for (i = 0; i < N; i++) cin >> a[i]; ... return 0; }
6) Дан массив, содержащий 50 положительных целых чисел. Напишите на одном из языков программирования программу, которая находит в этом массиве количество элементов, значение которых более чем в три раза превосходит значение предшествующего элемента.
Например, для массива из 6 элементов, содержащего числа 2, 5, 20, 15, 150, 100, программа должна выдать ответ 2 (элемент со значением 20 и со значением 150). Программа должна вывести общее количество подходящих элементов, значения элементов выводить не нужно.
# допускается также # использовать две # целочисленные переменные j и k a = [ ] n = 50 for i in range(0, n): a.append(int(input())) ...
const N = 50; var a: array [1..N] of integer; i, j, k: integer; begin for i := 1 to N do readln(a[i]); ... end.
#include <iostream> using namespace std; const int N = 50; int main() { int a[N]; int i, j, k; for (i = 0; i < N; i++) cin >> a[i]; ... return 0; }
7) Дан массив, содержащий 1000 положительных целых чисел. Симметричной парой называются два элемента, которые находятся на равном расстоянии от концов массива. Например, 1-й и 1000-й элементы, 2-й и 999-й и т. д. Порядок элементов в симметричной паре не учитывается: элементы на 1 и 2014 местах – это та же самая пара, что и элементы на 2014 и 1 местах.
Напишите на одном из языков программирования программу, которая подсчитывает в массиве количество симметричных пар, у которых сумма элементов больше 20. Программа должна вывести одно число – количество отобранных симметричных пар.
const N = 1000; var a: array [1..N] of integer; i, j, k: integer; begin for i := 1 to N do readln(a[i]); ... end.
#include <iostream> using namespace std; const int N = 1000; int main() { int a[N]; int i, j, k; for (i = 0; i < N; i++) cin >> a[i]; ... return 0; }
8) Дан массив, содержащий 2014 положительных целых чисел. Напишите на одном из языков программирования программу, которая находит в этом массиве количество локальных минимумов. Локальным минимумом называется элемент массива, который меньше всех своих соседей. Например, в массиве из 6 элементов, содержащем числа 4, 6, 12, 7, 3, 8, есть два локальных минимума: это элементы, равные 4 и 3. Программа должна вывести общее количество подходящих элементов.
# допускается также # использовать две # целочисленные переменные j и k a = [ ] n = 2014 for i in range(0, n): a.append(int(input())) ...
const N = 2014; var a: array [1..N] of integer; i, j, k: integer; begin for i := 1 to N do readln(a[i]); ... end.
#include <iostream> using namespace std; const int N = 2014; int main() { int a[N]; int i, j, k; for (i = 0; i < N; i++) cin >> a[i]; ... return 0; }
9) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 1000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар соседних элементов массива, сумма которых не кратна 3, а произведение больше 600.
10) Дан целочисленный массив из 2000 элементов. Если сумма всех элементов массива чётная, нужно вывести количество нечётных (по значению) элементов массива, если нечётная – количество чётных. Например, для массива из 6 элементов, равных соответственно 2, 6, 12, 17, 3, 8, ответом будет 2 – количество нечётных элементов, так как общая сумма всех элементов чётна.
# допускается также # использовать одну # целочисленную переменную k a = [ ] n = 2000 for i in range(0, n): a.append(int(input())) ...
const N = 2000; var a: array [1..N] of integer; i, k: integer; begin for i := 1 to N do readln(a[i]); ... end.
#include <iostream> using namespace std; const int N = 2000; int main() { int a[N]; int i, k; for (i = 0; i < N; i++) cin >> a[i]; ... return 0; }
11) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар соседних элементов массива, в которых десятичная запись хотя бы одного числа оканчивается на 7 и их сумма больше 10.
12) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести наибольший из элементов массива, восьмеричная запись которого содержит не менее трёх цифр и оканчивается на 5. Если таких чисел нет, нужно вывести ответ 0.
13) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести наименьший из элементов массива, шестнадцатеричная запись которого содержит не менее трёх цифр и оканчивается на букву E. Если таких чисел нет, нужно вывести ответ 0.
14) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальный элементов массива, двенадцатиричная запись которого содержит ровно две цифры, причём первая (старшая) цифра больше второй (младшей). Если таких чисел нет, нужно вывести ответ 0.
#include <iostream> using namespace std; const int N = 30; int main() { long a[N]; long i, j, k; for (i = 0; i < N; i++) cin >> a[i]; ... return 0; }
15) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальный элементов массива, шестнадцатеричная запись которого содержит ровно две цифры, причём вторая (младшая) цифра – это буква (от A до F). Если таких чисел нет, нужно вывести ответ 0.
16) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на одном из языков программирования алгоритм, который находит количество четных элементов массива, превышающих первый элемент, а затем заменяет каждый такой элемент на число, равное найденной количеству. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.
Например, для исходного массива из шести элементов: 4 11 12 24 2 16
программа должна вывести следующий массив 4 11 3 3 2 3
17) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на одном из языков программирования алгоритм, который находит сумму элементов массива, меньших 200 и при этом кратных 5, а затем заменяет каждый такой элемент на число, равное найденной сумме. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.
Например, для исходного массива из шести элементов: 204 115 27 20 305 4
программа должна вывести следующий массив 204 135 27 135 305 4
Задания взяты из базы данных ФИПИ, сайта К.Полякова или придуманы мною