|
Ниже на пяти языках программирования записан алгоритм. Получив на вход натуральное десятичное число
x
, этот алгоритм печатает два числа:
L
и
M
. Укажите
наибольшее
число
x
, при вводе которого алгоритм печатает сначала 24, а потом 3.
|
Бейсик
|
Python
|
|
DIM X, L, M AS INTEGER
INPUT X
L = 1
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
|
x = int(input())
L = 1
M = 0
while x > 0:
M = M + 1
if x % 2 ==
0:
L = L
*
(
x % 8
)
x = x // 8
print(L)
print(M)
|
|
Алгоритмический язык
|
Паскаль
|
|
алг
нач
цел
x
,
L
,
M
ввод
x
L
:= 1
M
:= 0
нц
пока
x
> 0
M
:=
M
+ 1
если
mod
(
x
,2) = 0
то
L
:=
L
*
mod
(
x
,8)
все
x
:=
div
(
x
,8)
кц
вывод
L
,
нс
,
M
кон
|
var x, L, M: integer;
begin
readln(x);
L := 1;
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.
|
|
С
++
|
|
#include <iostream>
using namespace std;
int main()
{
int x, L, M;
cin >> x;
L = 1;
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;
}
|
|