Задание
Ниже на пяти языках программирования записан алгоритм. Получив на вход натуральное десятичное число x, этот алгоритм печатает два числа: \(L\) и \(M\). Укажите наибольшее число \(x\), при вводе которого алгоритм печатает сначала \(15\), а потом \(3\).
Бейсик
DIM X, L, M AS INTEGER
INPUT
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
Python
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)
Паскаль
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;
}