22 (20) задание. Досрочный вариант 1 ЕГЭ по информатике 2020, ФИПИ:
Ниже на пяти языках программирования записан алгоритм. Получив на вход натуральное десятичное число x, этот алгоритм печатает два числа: L и M.
Укажите наибольшее число x, при вводе которого алгоритм выводит сначала 2, а потом 3.
Паскаль:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| var
x, L, M: integer;
begin
readln(x);
L := 0;
M := 0;
while x > 0 do
begin
M := M + 1;
if x mod 2 <> 0 then
L := L + x mod 8;
x := x div 8
end;
writeln(L);
writeln(M)
end. |
var
x, L, M: integer;
begin
readln(x);
L := 0;
M := 0;
while x > 0 do
begin
M := M + 1;
if x mod 2 <> 0 then
L := L + x mod 8;
x := x div 8
end;
writeln(L);
writeln(M)
end.
Бейсик:
DIM X, L, M AS INTEGER
INPUT X
L = 0
M = 0
WHILE X > 0
M = M + 1
IF X MOD 2 <> 0 THEN
L = L + X MOD 8
END IF
X = X \ 8
WEND
PRINT L
PRINT M |
DIM X, L, M AS INTEGER
INPUT X
L = 0
M = 0
WHILE X > 0
M = M + 1
IF X MOD 2 <> 0 THEN
L = L + X MOD 8
END IF
X = X \ 8
WEND
PRINT L
PRINT M
|
Python:
x = int(input())
L = 0
M = 0
while x > 0:
M = M + 1
if x % 2 != 0:
L = L + x % 8
x = x // 8
print(L)
print(M) |
x = int(input())
L = 0
M = 0
while x > 0:
M = M + 1
if x % 2 != 0:
L = L + x % 8
x = x // 8
print(L)
print(M)
|
С++:
#include <iostream>
using namespace std;
int main(){
int x, L, M;
cin >> x;
L = 0;
M = 0;
while (x > 0) {
M = M + 1;
if(x % 2 != 0) {
L = L + x % 8;
}
x = x / 8;
}
cout << L << endl << M << endl;
return 0;
} |
#include <iostream>
using namespace std;
int main(){
int x, L, M;
cin >> x;
L = 0;
M = 0;
while (x > 0) {
M = M + 1;
if(x % 2 != 0) {
L = L + x % 8;
}
x = x / 8;
}
cout << L << endl << M << endl;
return 0;
}
|
✍ Решение:
Ответ: 393
📹 Видео