В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
artemazarenko
artemazarenko
08.12.2021 22:27 •  Информатика

Python. Рекурсии.
Фишки

Дана полоска из клеток, пронумерованных от 1 до N слева направо. Разрешено снимать или ставить фишку на клетку с номером 1 или на клетку, следующую за самой левой из установленных фишек (правее неё), если она пуста. Изначально полоска пуста. Нужно разместить фишки во всех клетках.

Входные данные

Программа получает на вход количество клеток в полоске N(1≤N≤10).

Выходные данные

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

Примеры:
Ввод:
3
Вывод:
1 2 -1 3 1

Программа(работает только с нечётными числами, на других зависает):
from sys import setrecursionlimit
setrecursionlimit(10**9)
def f(a,i):
if a == 1:
print(1,end = ' ')
elif i == a - 1:
print(i+1,end = ' ')
f(a-2,1)
else:
print(i+1,-i,end = ' ')
f(a,i+1)
a = int(input())
print(1,end = ' ')
f(a,1)

Показать ответ
Ответ:
dina79kzkz
dina79kzkz
23.10.2021 06:02
С начало узнаем сколько занимает объем информации одна строка. Умножим количество страниц на количество строк в одной страницы чтобы найти сколько всего строк. 40*4=160 строк.Разделим объем информации на количество строк и узнаем сколько занимает одна строка объем информации. 7200/160=45 байт. переведем их в биты 45*8=360 бит. 64 символа можно закодировать 6 битами т.е. 2 в 6 степени. 1 символ 6 бит. Разделим объем информации одной странницы на объем информации одного символа и получим сколько всего символов в одной строке. 360/6=60 символов.
ответ: в одной строке 60 символов.
0,0(0 оценок)
Ответ:
vladimirnvrskp08453
vladimirnvrskp08453
04.04.2020 12:06
//PascalABC.NET 3.2 сборка 1318

Var
  n,i,j,resi,resj,flag:integer;
begin
flag:=0;
i:=1;
readln(n);
while power(i,3)<n do
  begin
    j:=1;
    while power(j,3)+power(i,3)<=n do
      begin
        if power(j,3)+power(i,3)=n then
        begin
          flag:=1;
          resi:=i;
          resj:=j;
          break;
        end;
        inc(j);
      end;
    if flag=1 then break;
    inc(i);
  end;
if flag=1 then writeln(resi,' ',resj,' ',resj,' ',resi) else writeln('impossible');
end.

Пример ввода:
1008                           //2^3+10^3
Пример вывода:
2 10 10 2
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота