Дано целое положительное число N, не превосходящее 1000. Требуется определить, является ли это число степенью числа 3. То есть нужно найти такое целое число K, что , и вывести это число либо сообщение об отсутствии такого K.
Ученик написал программу, но она содержит ошибки. Ниже приведена программа на нескольких языках:
| Бейсик | Python |
|---|---|
| DIM N, K AS INTEGER INPUT N K = 0 WHILE K MOD 3 = 0 K = K + 1 N = N \ 3 WEND IF N > 0 THEN PRINT K ELSE PRINT "Не существует" END IF END | n = int(input()) k = 0 while k%3 == 0: k = k + 1 n = n // 3 if n > 0: print(k) else: print("Не существует") |
| Паскаль | Алгоритмический язык |
| var n, k: integer; begin read(n); k := 0; while k mod 3 = 0 do begin k := k + 1; n := n div 3; end; if n > 0 then writeln(k) else writeln('Не существует') end. | алг нач цел n, k ввод n k := 0 нц пока mod(k, 3)=0 k := k + 1 n := div(n,3) кц если n > 0 то вывод k иначе вывод "Не существует" все кон |
| Си++ | |
| #include using namespace std; int main(){ int n, k; cin >> n; k = 0; while (k%3 == 0) { k = k + 1; n = n / 3; } if (n > 0) cout << k << endl; else cout << "Не существует"; return 0; } |
Задания: