Условие задачи
Ниже на пяти языках программирования записан алгоритм. Получив на вход натуральное десятичное число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм выводит сначала 2, а потом 3.
| Бейсик | Python |
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
|
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, L, M
ввод x
L := 0
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 := 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.
|
| С++ | |
#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.






















