Daily AtCoder # 25 avec Python

introduction

Dernière fois

#25 Résolvez le problème recommandé. ABC105-C

** Pensées ** Tout d'abord, réfléchissons à la méthode pour créer un nombre binaire normal. Convertissez un nombre décimal en nombre binaire avec this. Faites-en une version de base -2. Le changement est que le reste est un nombre naturel, vous devez donc bien ajuster le reste. Lorsqu'il est divisible par -2, il ne reste plus grand-chose, donc n // 2 tel quel. S'il y a un reste, vous pouvez bien le calculer en le divisant par n-1 puis -2. Si vous ajoutez avec cette méthode de calcul, l'ordre des réponses sera inversé, donc il sera inversé. Après cela, rejoignez simplement str.

n = int(input())

if n == 0:
    print(0)
    quit()
base = []
while n != 1:
    if n % -2 == 0:
        base.append('0')
        n //= -2
    else:
        base.append('1')
        n -= 1
        n //= -2
base.append('1') #N'oubliez pas d'en faire un à la fin
base.reverse()
ans = ''.join(base)
print(ans)

Résumé

agréable. à plus

Recommended Posts

AtCoder # 36 quotidien avec Python
AtCoder # 2 tous les jours avec Python
Daily AtCoder # 32 en Python
Daily AtCoder # 6 en Python
Daily AtCoder # 18 en Python
Daily AtCoder # 53 en Python
Daily AtCoder # 33 en Python
AtCoder # 7 tous les jours avec Python
AtCoder # 24 tous les jours avec Python
Daily AtCoder # 37 en Python
AtCoder # 8 tous les jours avec Python
Daily AtCoder # 42 en Python
AtCoder # 21 quotidien avec Python
Daily AtCoder # 17 avec Python
Daily AtCoder # 38 en Python
Daily AtCoder # 54 en Python
Daily AtCoder # 15 en Python
Daily AtCoder # 47 avec Python
Daily AtCoder # 13 en Python
AtCoder # 45 quotidien avec Python
AtCoder # 30 tous les jours en Python
AtCoder # 40 quotidien avec Python
AtCoder # 5 tous les jours avec Python
Daily AtCoder # 28 en Python
AtCoder # 39 quotidien avec Python
Daily AtCoder # 20 en Python
Daily AtCoder # 19 en Python
Daily AtCoder # 52 en Python
Daily AtCoder # 3 en Python
Daily AtCoder # 14 avec Python
Daily AtCoder # 50 avec Python
Daily AtCoder # 43 en Python
Tous les jours avec Python AtCoder # 22
Daily AtCoder # 49 en Python
AtCoder # 1 tous les jours avec Python
Daily AtCoder # 25 avec Python
Daily AtCoder # 16 en Python
Daily AtCoder # 12 en Python
Daily AtCoder # 48 en Python
Daily AtCoder # 23 en Python
Daily AtCoder # 34 en Python
AtCoder # 51 quotidien avec Python
Daily AtCoder # 31 en Python
Daily AtCoder # 46 en Python
AtCoder # 35 quotidien avec Python
AtCoder # 9 tous les jours avec Python
Daily AtCoder # 44 avec Python
Daily AtCoder # 41 en Python
Atcoder ABC164 A-C en Python
atCoder 173 Python
Atcoder ABC167 A-D en Python
Atcoder ABC165 A-D en Python
Atcoder ABC166 A-E en Python
Atcoder ABC169 A-E en Python
AtCoder ABC177 A-D avec python
[Python] Connaissances de base utilisées dans AtCoder
Quadtree en Python --2
Python en optimisation
CURL en Python
Métaprogrammation avec Python
Python 3.3 avec Anaconda