Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите решить задачу

Denis Malarenko Ученик (79), закрыт 45 минут назад
Лучший ответ
Ксения Райт Гений (97794) 1 месяц назад
Предыдущий ответ, который черезчур переусложнённый, можно уложить в две строки:
 n = int(input())  
print(n//2*6+(-1)**(1-(n&1)))
(3 << 1) - это, вообще-то, умножение трёх на два, то есть шесть и зачем так писа́ть, если это явная глупость? n%2==1 - это тоже явная чушь, поскольку это n&1, что компактнее и эффективнее. Если мозгами пошевелить, то и от степени минус единицы можно избавиться. А можно ещё так, что по-моему лучше:
 n = int(input('n = '))  
print(3 * n - 2 if n & 1 else 3 * n - 1)
Остальные ответы
Иван Потапов Профи (611) 1 месяц назад
n = int(input())
ans = n // 2 * (3 << 1) + (- 1) ** (1 - (n % 2 == 1))
print(ans)
Denis MalarenkoУченик (79) 1 месяц назад
Пишет не правильно
Denis MalarenkoУченик (79) 1 месяц назад
Спасибо все правильно ?
Похожие вопросы