1. Ниже на четырёх языках программирования записана программа, которая вводит натуральное число x, выполняет преобразования, а затем выводит результат. Укажите наименьшее значение x, при вводе которого программа выведет число 20.
C++ | Python |
---|---|
#include <iostream> using namespace std;
int main() { int x, a, b; cin >> x; a = 3*x + 23; b = 3*x – 17; while (a != b) { if (a > b) a -= b; else b -= a; } cout << a << endl; return 0; } | x = int(input()) a = 3*x + 23 b = 3*x - 17 while a != b: if a > b: a -= b else: b -= a print(a)
|
Паскаль | Алгоритмический язык |
var x, a, b: integer; begin readln(x); a := 3*x + 23; b := 3*x – 17; while a <> b do begin if a > b then a := a – b else b := b - a end; writeln(a) end.
| алг нач цел x, a, b ввод x a := 3*x + 23 b := 3*x – 17 нц пока a <> b если a > b то a := a – b иначе b := b - a все кц вывод a, нс кон |
2. Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: a и b. Укажите наименьшее из таких чисел x, при вводе которого алгоритм печатает сначала 2, а потом 4.
Бейсик | Python |
---|---|
DIM X, A, B AS INTEGER INPUT X A = 0: B = 0 WHILE X > 0 IF X MOD 2 = 0 THEN A = A + 1 ELSE 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: if x%2 == 0: a += 1 else: b += x%10 x = x//10 print(a, b) |
Паскаль | Алгоритмический язык |
var x, a, b: longint; begin readln(x); a := 0; b := 0; while x > 0 do begin if x mod 2= 0 then a := a + 1 else 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 если mod(x,2)=0 то a := a+1 иначе 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) { if (x%2 == 0) a += 1; else b += x%10; x = x / 10; } cout << a << endl << b << endl; return 0; } |
3. Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает число M. Известно, что x > 150. Укажите наименьшее такое (т. е. большее 150) число x, при вводе которого алгоритм печатает 30.
Бейсик | Python |
---|---|
DIM X, L, M AS INTEGER INPUT X L = 2*X-30 M = 2*X+30 WHILE L <> M IF L > M THEN L = L - M ELSE M = M - L END IF WEND PRINT M | x = int(input()) L = 2*x-30 M = 2*x+30 while L != M: if L > M: L = L - M else: M = M - L print(M) |
Паскаль | Алгоритмический язык |
var x, L, M: integer; begin readln(x); L := 2*x-30; M := 2*x+30; while L <> M do begin if L > M then L := L - M else M := M - L; end; writeln(M); end. | алг нач цел x, L, M ввод x L := 2*x-30 M := 2*x+30 нц пока L <> M если L > M то L := L - M иначе M := M - L все кц вывод M кон |
Си++ | |
#include <iostream> using namespace std; int main() { int x, L, M; cin >> x; L = 2*x-30; M = 2*x+30; while (L != M) { if (L > M) L = L - M; else M = M - L; } cout « M « endl; return 0; } |