IT-Resume / bugs

Не баг, а фича!
0 stars 0 forks source link

Bug:[Тестовое Google] Почти факториал #266

Open AnastassiaGuseva opened 10 months ago

AnastassiaGuseva commented 10 months ago

Сообщить о баге

Если Вы нашли баг или неточность в задачах на платформе IT Resume - обязательно заполните этот issue. Нужно заполнить всего несколько несложных пунктов :)

В течение 2 дней мы ознакомимся и начислим Вам CodeCoins за Ваш вклад в развитие платформы.

Шаг 1 - Ваши данные

Укажите ниже свою почту или логин на платформе IT Resume. Это необходимо, чтобы мы начислили Вам монеты.


anastassia_guseva@inbox.ru

Шаг 2 - Задача

Укажите ссылку на задачу, в которой проблема.


https://itresume.ru/problems/almost_factorial?utm_source=unisender&utm_medium=email&utm_campaign=itresume&utm_content=top-10-tasks-30-01

Шаг 3 - Язык

Укажите язык, на котором Вы решали задачу.


python

Шаг 4 - Решение

Напишите код, который привел к ошибке.


# Ваш код здесь
from math import floor

def almost_factorial(n):
  arith_signs = ['*','/','+','-']

  arith_index = 0

  s = n

  n -= 1

  while n > 0:
    if arith_index > 3:
      arith_index = 0

    if arith_signs[arith_index] == '*':
      s = s * n
    elif arith_signs[arith_index] == '/':
      s = floor(s / n)
    elif arith_signs[arith_index] == '+':
      s = s + n
    else:
      s = s - n

    n -= 1
    arith_index += 1

  return(s)

Шаг 5 - Ожидание

Опишите ниже, какой результат Вы ожидали увидеть и почему.


При расчете "почти факториала" по формуле, указанной в задании при n=10 результат равен 16. В задании сказано, что 12.

Считаю: 10 9 = 90 90 / 8 = 11.25 ==> 11 11 + 7 = 18 18 - 6 =12 12 5 = 60 60 / 4 = 15 15 + 3 = 18 18 - 2 = 16 16 * 1 = 16

Финал

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

На этом все :) В ближайшее время мы все посмотрим и начислим Вам заслуженные монеты. Stay tuned!