Ниже на пяти языках программирования записан алгоритм. Получив на вход натуральное десятичное число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 8, а потом 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
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; } |