Всего: 932 … 241–260 | 261–280 | 281–300 | 301–320 | 321–340 | 341–360 | 361–380 | 381–400 …
Добавить в вариант
В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 6, 7, 3, 8, 5, 1, 2, 0, 9, 4 соответственно, т. е. A[0] = 6, A[1] = 7 и т. д.
Определите значение переменной c после выполнения следующего фрагмента этой программы (записанного ниже на пяти языках программирования).
| Бейсик | Python |
|---|---|
c = 0 FOR i = 1 TO 9 IF A(i) < A(0) THEN c = c + 1 t = A(i) A(i) = A(0) A(0) = t END IF NEXT i
| c = 0 for i in range(1,10): if A[i] < A[0]: c = c + 1 t = A[i] A[i] = A[0] A[0] = t
|
| Паскаль | Алгоритмический язык |
c := 0; for i := 1 to 9 do if A[i] < A[0] then begin c := c + 1; t := A[i]; A[i] := A[0]; A[0] := t; end; | c := 0 нц для i от 1 до 9 если A[i] < A[0] то c := c + 1 t := A[i] A[i] := A[0] A[0] := t все кц |
| Си++ | |
c = 0; for (i = 1;i < 10;i++) if (A[i] < A[0]) { c++; t = A[i]; A[i] = A[0]; A[0] = t; }
| |
Исполнитель Май16 преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 1
2. Умножить на 2
Первая команда увеличивает число на экране на 1, вторая умножает его на 2. Программа для исполнителя Май16 – это последовательность команд.
Сколько существует программ, для которых при исходном числе 2 результатом является число 33 и при этом траектория вычислений содержит число 16 и не содержит числа 30?
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 16, 17.
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в два раза. Например, пусть в одной куче 20 камней, а в другой 7 камней; такую позицию в игре будем обозначать (20, 7). Тогда за один ход можно получить любую из четырёх позиций: (21, 7), (40, 7), (20, 8), (20, 14). Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.
Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 77. Победителем считается игрок, сделавший последний ход, т. е. первым получивший такую позицию, что в кучах всего будет 77 камней или больше.
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока – значит, описать, какой ход он должен сделать в любой ситуации, которая ему может
встретиться при различной игре противника. Например, при начальных позициях (10, 34), (11, 33) выигрышная стратегия есть у Пети. Чтобы выиграть, ему достаточно удвоить количество камней во второй куче.
Задание 1. Для каждой из начальных позиций (10, 33), (12, 32) укажите, кто из игроков имеет выигрышную стратегию. В каждом случае опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии.
Задание 2. Для каждой из начальных позиций (10, 32), (11, 32), (12, 31) укажите, кто из игроков имеет выигрышную стратегию. В каждом случае опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии.
Задание 3. Для начальной позиции (11, 31) укажите, кто из игроков имеет выигрышную стратегию. Опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии. Постройте дерево всех партий, возможных при указанной Вами выигрышной стратегии. Представьте дерево в виде рисунка или таблицы.
На плоскости задано множество точек с целочисленными координатами. Необходимо найти максимально возможную площадь невырожденного (то есть, имеющего ненулевую площадь) треугольника, одна вершина которого расположена в начале координат, а две другие лежат на осях координат и при этом принадлежат заданному множеству. Если такого треугольника не существует, необходимо вывести соответствующее сообщение.
Напишите эффективную, в том числе по используемой памяти, программу для решения этой задачи. Перед текстом программы кратко опишите алгоритм решения и укажите язык программирования и его версию.
Входные данные
В первой строке задаётся N – количество точек в заданном множестве. Каждая из следующих строк содержит два целых числа – координаты очередной точки.
Пример входных данных:
3
6 0
0 8
9 7
Выходные данные
Если искомый треугольник существует, программа должна напечатать одно число: максимально возможную площадь треугольника, удовлетворяющего условиям. Если искомый треугольник не существует, программа должна напечатать сообщение: «Треугольник не существует».
Пример выходных данных для приведённого выше примера входных данных:
24
Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена на пяти языках программирования.
| Бейсик | Python |
|---|---|
DIM S, N AS INTEGER S = 0 N = 0 WHILE 2*S < 111 S = S + 8 N = N + 2 WEND PRINT N
| s = 0 n = 0 while 2*s < 111: s = s + 8 n = n + 2 print(n)
|
| Паскаль | Алгоритмический язык |
var s, n: integer; begin s := 0; n := 0; while 2*s < 111 do begin s := s + 8; n := n + 2 end; writeln(n) end. | алг нач цел n, s n := 0 s := 0 нц пока 2*s < 111 s := s + 8 n := n + 2 кц вывод n кон |
| Си++ | |
#include <iostream> using namespace std; int main() { int s = 0, n = 0; while (2*s < 111) { s = s + 8; n = n + 2; } cout << n << endl; return 0; }
| |
Ниже на пяти языках программирования записаны две рекурсивные функции: F и G.
| Бейсик | Python |
|---|---|
DECLARE FUNCTION F(n) DECLARE FUNCTION G(n) FUNCTION F(n) IF n > 2 THEN F = F(n - 1) + G(n-2) ELSE F = 1 END IF END FUNCTION FUNCTION G(n) IF n > 2 THEN G = G(n - 1) + F(n-2) ELSE G = 1 END IF END FUNCTION
| def F(n): if n > 2: return F(n-1)+ G(n-2) else: return 1 def G(n): if n > 2: return G(n-1) + F(n-2) else: return 1
|
| Паскаль | Алгоритмический язык |
function F(n: integer): integer; begin if n > 2 then F := F(n - 1) + G(n - 2) else F := 1; end; function G(n: integer): integer; begin if n > 2 then G := G(n - 1) + F(n - 2) else G := 1; end; | алг цел F(цел n) нач если n > 2 то знач := F(n - 1) + G(n - 2) иначе знач := 1 все кон алг цел G(цел n) нач если n > 2 то знач := G(n - 1) + F(n - 2) иначе знач := 1 все кон |
| Си | |
int F(int n) { if (n > 2) return F(n-1) + G(n-2); else return 1; } int G(int n) { if (n > 2) return G(n-1) + F(n-2); else return 1; }
| |
Чему будет равно значение, вычисленное при выполнении вызова F(8)?
В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 6, 7, 5, 8, 3, 2, 0, 1, 9, 4 соответственно, т. е. A[0] = 6, A[1] = 7 и т. д. Определите значение переменной c после выполнения следующего фрагмента этой программы (записанного ниже на пяти языках программирования).
| Бейсик | Python |
|---|---|
c = 0 FOR i = 1 TO 9 IF A(i) < A(0) THEN c = c + 1 t = A(i) A(i) = A(0) A(0) = t END IF NEXT i
| c = 0 for i in range(1,10): if A[i] < A[0]: c = c + 1 t = A[i] A[i] = A[0] A[0] = t
|
| Паскаль | Алгоритмический язык |
c := 0; for i := 1 to 9 do if A[i] < A[0] then begin c := c + 1; t := A[i]; A[i] := A[0]; A[0] := t; end; | c := 0 нц для i от 1 до 9 если A[i] < A[0] то c := c + 1 t := A[i] A[i] := A[0] A[0] := t все кц |
| Си++ | |
c = 0; for (i = 1;i < 10;i++) if (A[i] < A[0]) { c++; t = A[i]; A[i] = A[0]; A[0] = t; }
| |
Напишите в ответе наименьшее значение входной переменной k, при котором программа выдаёт тот же ответ, что и при входном значении k = 20. Для Вашего удобства программа приведена на пяти языках программирования.
| Бейсик | Python |
|---|---|
DIM K, I AS LONG INPUT K I = 1 WHILE F(I) < G(K) I = I + 1 WEND PRINT I FUNCTION F(N) F = N * N END FUNCTION FUNCTION G(N) G = 3*N + 3 END FUNCTION
| def f(n): return n*n def g(n): return 3*n+3 k = int(input()) i = 1 while f(i) < g(k): i+=1 print (i)
|
| Паскаль | Алгоритмический язык |
var k, i : longint; function f(n: longint): longint; begin f := n * n; end; function g(n: longint): longint; begin g := 3*n + 3; end; begin readln(k); i := 1; while f(i) < g(k) do i := i+1; writeln(i) end. | алг нач цел i, k ввод k i := 1 нц пока f(i) < g(k) i := i + 1 кц вывод i кон алг цел f(цел n) нач знач := n * n кон алг цел g(цел n) нач знач := 3*n + 3 кон |
| Си++ | |
#include <iostream> using namespace std; long f(long n) { return n * n; } long g(long n) { return 3*n + 3; } int main() { long k, i; cin >> k; i = 1; while(f(i) < g(k)) i++; cout << i << endl; return 0; }
| |
Исполнитель Май16 преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 1
2. Умножить на 2
Первая команда увеличивает число на экране на 1, вторая умножает его на 2. Программа для исполнителя Май16 – это последовательность команд.
Сколько существует программ, для которых при исходном числе 2 результатом является число 31 и при этом траектория вычислений содержит число 15 и не содержит числа 22?
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 16, 17.
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в два раза. Например, пусть в одной куче 20 камней, а в другой 7 камней; такую позицию в игре будем обозначать (20, 7). Тогда за один ход можно получить любую из четырёх позиций: (21, 7), (40, 7), (20, 8), (20, 14). Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.
Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 97. Победителем считается игрок, сделавший последний ход, т. е. первым получивший такую позицию, что в кучах всего будет 97 камней или больше.
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока - значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. Например, при начальных позициях (10, 44), (11, 43) выигрышная стратегия есть у Пети. Чтобы выиграть, ему достаточно удвоить количество камней во второй куче.
Задание 1. Для каждой из начальных позиций (10, 43), (12, 42) укажите, кто из игроков имеет выигрышную стратегию. В каждом случае опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии.
Задание 2. Для каждой из начальных позиций (10, 42), (11, 42), (12, 41) укажите, кто из игроков имеет выигрышную стратегию. В каждом случае опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии.
Задание 3. Для начальной позиции (11, 41) укажите, кто из игроков имеет выигрышную стратегию. Опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии. Постройте дерево всех партий, возможных при указанной Вами выигрышной стратегии. Представьте дерево в виде рисунка или таблицы.
На плоскости задано множество точек с целочисленными координатами.
Необходимо найти минимально возможную площадь невырожденного (то есть имеющего ненулевую площадь) треугольника, одна вершина которого расположена в начале координат, а две другие лежат на осях координат и при
этом принадлежат заданному множеству. Если такого треугольника не существует, необходимо вывести соответствующее сообщение.
Напишите эффективную, в том числе по используемой памяти, программу для решения этой задачи.
Перед текстом программы кратко опишите алгоритм решения и укажите язык программирования и его версию.
Входные данные
В первой строке задаётся N – количество точек в заданном множестве. Каждая из следующих строк содержит два целых числа – координаты очередной точки.
Пример входных данных:
3
6 0
0 8
9 7
Выходные данные
Если искомый треугольник существует, программа должна напечатать одно число: минимально возможную площадь треугольника, удовлетворяющего условиям. Если искомый треугольник не существует, программа должна напечатать сообщение: «Треугольник не существует».
Пример выходных данных для приведённого выше примера входных данных:
24
Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена на пяти языках программирования.
| Бейсик | Python |
|---|---|
DIM S, N AS INTEGER S = 0 N = 0 WHILE 2*S*S < 123 S = S + 1 N = N + 3 WEND PRINT N
| s = 0 n = 0 while 2*s*s < 123: s = s + 1 n = n + 3 print(n)
|
| Паскаль | Алгоритмический язык |
var s, n: integer; begin s := 0; n := 0; while 2*s*s < 123 do begin s := s + 1; n := n + 3 end; writeln(n) end. | алг нач цел n, s n := 0 s := 0 нц пока 2*s*s < 123 s := s + 1 n := n + 3 кц вывод n кон |
| Си++ | |
#include <iostream> using namespace std; int main() { int s = 0, n = 0; while (2*s*s < 123) { s = s + 1; n = n + 3; } cout << n << endl; return 0; }
| |
На рисунке изображена схема дорог, связывающих города А, Б, В, Г, Д, Е, К, Л, М, Н, П, Р, Т. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город Т?
В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 6, 7, 3, 8, 5, 1, 2, 0, 9, 4 соответственно, то есть A[0] = 6, A[1] = 7 и так далее.
Определите значение переменной c после выполнения следующего фрагмента этой программы (записанного ниже на пяти языках программирования).
| Бейсик | Python |
|---|---|
c = 0 FOR i = 1 TO 9 IF A(i) < A(0) THEN c = c + 1 t = A(i) A(i) = A(0) A(0) = t END IF NEXT i
| c = 0 for i in range(1,10): if A[i] < A[0]: c = c + 1 t = A[i] A[i] = A[0] A[0] = t
|
| Паскаль | Алгоритмический язык |
c := 0; for i := 1 to 9 do if A[i] < A[0] then begin c := c + 1; t := A[i]; A[i] := A[0]; A[0] := t; end; | c := 0 нц для i от 1 до 9 если A[i] < A[0] то c := c + 1 t := A[i] A[i] := A[0] A[0] := t все кц |
| Си++ | |
c = 0; for (i = 1;i < 10;i++) if (A[i] < A[0]) { c++; t = A[i]; A[i] = A[0]; A[0] = t; } }
| |
Ниже на пяти языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 20.
| Бейсик | Python |
|---|---|
DIM X, A, B AS INTEGER INPUT X A = 0: B = 0 WHILE X > 0 A = A + 1 IF (X MOD 2) = 0 THEN B = B+(X MOD 10) END IF X = X \ 10 WEND PRINT A PRINT B | x = int(input()) a=0; b=0 while x>0: a=a+1 if x%2==0: b += x%10 x = x//10 print(a) print(b)
|
| Паскаль | Алгоритмический язык |
program B20; var x, a, b: integer; begin readln(x); a:= 0; b:= 0; while x > 0 do begin a:= a + 1; if x mod 2 = 0 then b:= b+ x mod 10; x:=x div 10; end; writeln(a); write(b); end. | алг нач цел x, a, b ввод x a := 0; b := 0 нц пока x > 0 a := a+1 если mod(x,2)=0 то b := b + mod(x,10) все x := div(x,10) кц вывод a, нс, b кон |
| Си++ | |
#include <iostream> using namespace std; int main() { int x, a, b; cin >> x; a = 0; b = 0; while (x > 0) { a = a+1; if (x%2 == 0) { b = b+x%10; } x = x / 10; } cout << a << endl << b << endl; return 0; }
| |
Исполнитель Май16 преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 1
2. Прибавить 2
Первая команда увеличивает число на экране на 1, вторая увеличивает его на 2. Программа для исполнителя Май16 — это последовательность команд. Сколько существует программ, для которых при исходном числе 1 результатом является число 13 и при этом траектория вычислений содержит число 7? Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 10, 11.
На плоскости задано множество точек с целочисленными координатами. Необходимо найти максимально возможную площадь невырожденного (то есть имеющего ненулевую площадь) треугольника, одна вершина которого расположена в начале координат, а две другие лежат на биссектрисах углов, образованных осями координат, и при этом принадлежат заданному множеству. Если такого треугольника не существует, необходимо вывести соответствующее сообщение.
Напишите эффективную по времени и по используемой памяти программу для решения этой задачи.
Программа считается эффективной по времени, если при увеличении количества точек в k раз время работы возрастает не более чем в k раз.
Программа считается эффективной по памяти, если размер памяти для хранения всех необходимых данных не зависит от количества точек и не превышает 1 килобайта.
Перед текстом программы кратко опишите алгоритм решения и укажите язык программирования и его версию.
Входные данные
В первой строке задаётся N — количество точек в заданном множестве. Каждая из следующих строк содержит два целых числа — координаты очередной точки.
Пример входных данных:
3
6 6
-8 8
9 7
Выходные данные
Если искомый треугольник существует, программа должна напечатать одно число: максимально возможную площадь треугольника, удовлетворяющего условиям. Если искомый треугольник не существует, программа должна напечатать сообщение: «Треугольник не существует».
Пример выходных данных для приведённого выше примера входных данных: 48.
Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена на пяти языках программирования.
| Бейсик | Python |
|---|---|
DIM S, N AS INTEGER S = 0 N = 0 WHILE 2*S*S < 123 S = S + 1 N = N + 2 WEND PRINT N
| s = 0 n = 0 while 2*s*s < 123: s = s + 1 n = n + 2 print(n)
|
| Паскаль | Алгоритмический язык |
var s, n: integer; begin s := 0; n := 0; while 2*s*s < 123 do begin s := s + 1; n := n + 2 end; writeln(n) end. | алг нач цел n, s n := 0 s := 0 нц пока 2*s*s < 123 s := s + 1 n := n + 2 кц вывод n кон |
| Си++ | |
#include <iostream> using namespace std; int main() { int s = 0, n = 0; while (2*s*s < 123) { s = s + 1; n = n + 2; } cout << n << endl; return 0; }
| |
На рисунке изображена схема дорог, связывающих города А, Б, В, Г, Д, Е, К, Л, М, Н, П, Р, Т. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город Т?

