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