polina3mag
?>

Дано: a, n найти: k k=a^n (а в степени n) k=a*a* *a= n обязательно использовать цикл while.

Информатика

Ответы

asparinapti39

1) Функциональные клавиши F1-F12 предназначены для выполнения ряда команд при работе с некоторыми программами.

2) Символьные (алфавитно-цифровые) клавиши используются для ввода информации в компьютер.

3) Клавиши управления курсором перемещают курсор в начало строки, в конец строки, на страницу вверх и на страницу вниз.  

4) Дополнительные клавиши, расположенные с правой стороны клавиатуры, могут работать в двух режимах, переключаемых клавишей NumLock:

- при включённом индикаторе NumLock это удобная клавишная панель с цифрами и знаками арифметических операций, расположенными, как на калькуляторе;

- если индикатор NumLock выключен, то работает режим управления курсором.

5) Специальные клавиши (Enter, Esc, Shift, Delete, Backspace, Insert и др.) — это клавиши для специальных действий;

   Клавиша Enter завершает ввод команды и вызывает её выполнение. При наборе текста служит для завершения ввода абзаца.

   Клавиша Esc, расположенная в левом верхнем углу клавиатуры, обычно служит для отказа от только что выполненного действия.

Объяснение:

agafonovalyudmila346
Вариант №1 (не совсем удачный, как было отмечено в комментариях).

//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016)
var n,i,m:integer;
flag:boolean;

begin
  readln(n);
  flag:=false;
  if (n mod 2<>0)then i:=n-1 else i:=n;
  while i>0 do begin  
    if power(2,i)<=n then begin
      write(power(2,i),' '); flag:=true;
    end;
    i:=i-2;
end;
if not flag then writeln(0);
end.

Тест №1
1025
1024 256 64 16 4

Тест №2
1
0

Вариант №2

var a,i,n: integer;
begin
  a:=1;readln(n);
  i:=trunc(log2(n)); //получим степень двойки для n
  //если i нечетное,
  //то первое искомое число получаем путем сдвига влево на i-1 в
  //двоичном представлении числа иначе сдвиг на i
  if (i mod 2)=1 then a:=a shl(i-1) else a:=a shl i;
  //далее получаем числа сдвигая вправо на 2 разряда
  //в двоичном представлении числа
  while a>=2 do begin
    write(a,' ');
    a:=a shr 2;
  end;
end.

Тестовое решение:
2147483647
1073741824 268435456 67108864 16777216 4194304 1048576 262144 65536 16384 4096 1024 256 64 16 4

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Дано: a, n найти: k k=a^n (а в степени n) k=a*a* *a= n обязательно использовать цикл while.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

rynaodal
alexfold
Janaz842060
leobashkurov1089
mado191065
mail5
upmoskovskiy
kayrina
twisty20075004
a800000
tvmigunova551
Ушакова1902
Александр Джабраиловна1967
akbmaslafarkop3175
bb495