Взять остаток от деления на 4




Else

return f(y, x % y);

}

int main() {

int a, k = 0;

cin >> a;

for(int i = 1; i <= a; i++)

if(f(a, i) == i)

k++;

cout << k;

return 0;

}

3) Напишите в ответе наименьшее значение входной переменной k, при котором программа выдаёт ответ 21.

#include <iostream>

using namespace std;

int f(int n) {

return n * n * n;

}

int g(int n) {

return n * n;

}

int main() {

int k, i = 1;

cin >> k;

while(f(i) <= k * g(i))

i++;

cout << i;

return 0;

}

4) При каком наименьшем значении входной переменной k программа выдаёт тот же ответ, что и при входном значении k=64?

#include <iostream>

using namespace std;

int f(int n) {

return n * n - 20;

}

int main() {

int k, i = 12;

cin >> k;

while(i > 0 && f(i) >= k)

i--;

cout << i;

return 0;

}

5) При каком наибольшем значении входной переменной k программа выдаёт тот же ответ, что и при входном значении k=60?

#include <iostream>

using namespace std;

int f(int n) {

return 2 * n * n - 30;

}

int main() {

int k, i = 15;

cin >> k;

while(i>0 && f(i) >= k)

i--;

cout<<i;

return 0;

}

6) Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.

заменить (v, w)

нашлось (v)

Если при выполнении команды заменить цепочка, которую нужно заменить, не найдена, то строка не изменяется. Дана программа для исполнителя Редактор:

НАЧАЛО

ПОКА нашлось (1111)

заменить (1111, 33)

заменить (333, 1)

КОНЕЦ ПОКА

КОНЕЦ

Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 198 цифр 1?

7) Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.

заменить (v, w)

нашлось (v)

Если при выполнении команды заменить цепочка, которую нужно заменить, не найдена, то строка не изменяется. Дана программа для исполнителя Редактор:

НАЧАЛО

ПОКА нашлось (777)

заменить (77, 2)

заменить (22, 7)

КОНЕЦ ПОКА

КОНЕЦ

Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 170 цифр 7?

8) Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.

заменить (v, w)

нашлось (v)

Дана программа для исполнителя Редактор:

НАЧАЛО

ПОКА нашлось (10) ИЛИ нашлось (1)

ЕСЛИ нашлось (10)

ТО заменить (10, 001)

ИНАЧЕ заменить (1, 000)

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из одной единицы и 80 стоящих справа от нее нулей? В ответе запишите, сколько нулей будет в конечной строке.

9) Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.

заменить (v, w)

нашлось (v)

Дана программа для исполнителя Редактор:

НАЧАЛО

ПОКА нашлось (63) ИЛИ нашлось (664) ИЛИ нашлось (6665)

ЕСЛИ нашлось (63) ТО заменить (63, 4)

ИНАЧЕ

ЕСЛИ нашлось (664) ТО заменить (664, 65)

ИНАЧЕ

ЕСЛИ нашлось (6665) ТО заменить (6665, 63) КОНЕЦ ЕСЛИ

КОНЕЦ ЕСЛИ

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Какая строка получится в результате применения приведённой выше программы к строке, в которой первая и последняя цифры – 3, а между ними стоит 115 цифр 6? В ответе запишите полученную строку.

10) Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.

заменить (v, w)

нашлось (v)

Дана программа для исполнителя Редактор:

НАЧАЛО

ПОКА нашлось (9999) ИЛИ нашлось (333)

ЕСЛИ нашлось (9999)

ТО заменить (9999, 3)

ИНАЧЕ заменить (333, 99)

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Какая строка получится в результате применения приведённой выше программы к строке, состоящей из 207 идущих подряд цифр 9? В ответе запишите полученную строку.

11) Определите, что выведет на экран программа при вызове F(7).

procedure F(n: integer);

Begin

n:=n+1;

if n > 3 then begin

write(n);

F(n-3);

F(n div 3)

End

Else

write(n);

end;

12) Определите, что выведет на экран программа при вызове F(9).

procedure F(n: integer);

Begin

if n > 3 then begin

write(n);

n:=n+1;

F(n-3);

F(n div 3)

End

Else

write(n);

end;

13) Определите, что выведет на экран программа при вызове F(9).

procedure F(n: integer);

Begin

if n > 3 then begin

write(n);

F(n-3);

n:=n+1;

F(n div 3)

End

Else

write(n);

end;

14) Определите, что выведет на экран программа при вызове F(5).

procedure F(n: integer); forward;

procedure G(n: integer); forward;

procedure F(n: integer);

Begin

if n > 2 then

Begin

write(n);

F(n - 1);

G(n - 2);

End

Else

write(n+2);

end;

procedure G(n: integer);

Begin

write(n);

if n > 2 then

Begin

G(n - 1);

F(n - 2);

end;

end;

15) Исполнитель Калькулятор преобразует число на экране. У исполнителя есть три команды, которым присвоены номера:

Прибавить 1

Умножить на 2

Умножить на 3

Сколько существует программ, для которых при исходном числе 5 результатом является число 52 и при этом траектория вычислений содержит число 15 и не содержит число 29?

16) Исполнитель Калькулятор преобразует число на экране. У исполнителя есть три команды, которым присвоены номера:

Прибавить 1

Умножить на 3

Умножить на 4

Сколько существует программ, для которых при исходном числе 2 результатом является число 60 и при этом траектория вычислений содержит число 16 и не содержит число 21?

17) Исполнитель U18 преобразует число, записанное на экране. У исполнителя есть три команды, которым присвоены номера:

Вычесть 1

Вычесть 3

Взять остаток от деления на 4

Команда 3 выполняется только для чисел, больших, чем 4. Программа для исполнителя U18 – это последовательность команд. Сколько существует таких программ, которые исходное число 22 преобразуют в число 2?

18) Получив на вход число x, этот алгоритм печатает число M. Известно, что x > 100. Укажите наименьшее такое (т. е. большее 100) число x, при вводе которого алгоритм печатает 15.

#include <iostream>

using namespace std;

Int main()

{

int x, L, M;

cin >> x;

L = x - 30;

M = x + 30;

while (L!= M)

{

if (L > M)

L = L - M;

Else

M = M - L;

}

cout << M;

return 0;

}

19) Получив на вход число x, этот алгоритм печатает число M. Известно, что x > 100. Укажите наименьшее такое (т. е. большее 100) число x, при вводе которого алгоритм печатает 30.

#include <iostream>

using namespace std;

Int main()

{ int x, L, M;

cin >> x;

L = x - 30;

M = x + 30;

while (L!= M)

{

if (L > M)

L = L - M;

Else

M = M - L;

}

cout << M;

return 0;

}

20) Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 18.

#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;

return 0;

}

21) Значение арифметического выражения: 922 + 366 – 18 записали в системе счисления с основанием 3. Сколько цифр «2» содержится в этой записи?

22) Значение арифметического выражения: 97 + 321 – 9 записали в системе счисления с основанием 3. Сколько цифр «2» содержится в этой записи?



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-05-25 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: