Задание

Ниже на пяти языках программирования записан алгоритм. Получив на вход  натуральное десятичное число 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;

}