Skip to content

Instantly share code, notes, and snippets.

@cjauvin
Created June 15, 2011 14:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cjauvin/1027213 to your computer and use it in GitHub Desktop.
Save cjauvin/1027213 to your computer and use it in GitHub Desktop.
# Christian Jauvin <cjauvin@gmail.com>
# http://cjauvin.github.com
#
# Solutions for:
# https://www.readyforzero.com/challenge
# ajobwelldone+b26e9@readyforzero.com
# Problem 1
s = "en3pG3+nz+A2acXKrsyDouhViP9EDQS4JQK6uJqM3rBjKEBKC3yc=AA1=LUQqRPHvQ4dopgkbb/axClP3smzVcaTkRsCqHSG5aKFQ2TbOae0t5r4nWrCVesGK1Z3yEq+dClrDwXXOiAMyW09WdCS+CaKcfu=6kv9dUFBcS4KsUIgwMiXimoBpJZSWlBzILVf4zVA=7GjRP8RXn6uKjbjAPkpFEs/mYJpeOpEnhQfPhjoscgjfL5/SQsU6+jaAf5pg9MQzZdQAEJt7Jm1541fEmnumpjmJMd/MTJ5vzBttBBA7b5rbjDX0nHdTWn8C5suYKfNyYzc6x8S6FIepoEBsMS2mKhx5BRH5jSBrYRem4iQgYARzGnCFot3jPhp3cHj7qjXBWfZZASz8YJqi2d+r393AmdGm1L9NfU2f=FJprbLwJpuE7uT7xAlQA3Ry8aHRNgNkffP29Iqb2DSoQ0PK+9LX0t37HIAhI5zvoP6b4J7yQZEQDgeNlnPQMvSjw9pLWAxQ1VUY+NMU5BLZ2Bxuma1cIsHxcx4PwHcg0u1HYPJAWM2WK=xhJP5aQSc6oNMQK4s2=6guQRVFll6rvWkXTebrdsws7m/Kpa29spUFl8XzFx0ondEMCF3byAyWj875wAI3Hn8ZY92ddTAKj0s+a4X7qSti2lA0GzePHjBjMCD5g9kZYLtB94kkbVZ6eCle/xtto4LHH8GElc5YoUi=mk3nmQ5iOL1zMWfDyRUMLq+HCXbQL9NTejNa/yTdL3sayJOlMW1T7/Jmaz1FMbfBRFzruHeMT41=Zu3nYZJ3nIP22qKrFzNkt/24RuQ+7IMVCI2ngh2Yr8qLiL7QjSThRJPxA1wIJXwR2wqGiMhOqpun4DyQ5b/fTw1eTavpbFg6+tvqS4GKOt6p=bPoTV0GHIBBlXgHF/GUss90N0mXMKKiGwHhn/kyz=FxN0j=mfQUuUQa7lrZLjr10sqflWTwskIUkp1Cd8GYU4PaeWxiMBYFne4/8gJDt+dcZj9NV1U/B1lWigh9XvX7MiDWMAPvdrnGx0kp9v9V7LaL+JAkGGpa7s+CwwVr9C6rR0KIQLa2zF23o8men71vOVBt5Nn3U6rlmU6vWTwVhYCTptD8CHjKAX0EWcWo8T=gmYotqgXdi2y/VomdXCaBFLMtiVjpyY2npHF14p9yjvX/PBV9j4utnLeEPUZW7VD7SOc2FiqAMNBrsmNDSX64mbB6Rq1Jna36n55V5yB7=hx5FjowsqlDPD/HUR+yHAqSj7f3ZBjZZonmFFqE5ffwgf385zhjRG1x9JQRXbHG8SfLekwymb6KjkpxgZC6ATsbwALgUmmZbeMQxTAqUjyJIb9Oy2QxarahyX+bl8sElnM+j/IfvMwjSfDj/OZBl6AQpbVPfFFua4s2yhziu/vom5gtY/JDUOlEaRG=WBDX=W8Tjyx/dLE4xGuj8m9OlFWnLA6V4VVBPRbd3qUlQ9mQQYcqJj8pj=AWd3v2/yLw/SRw78lrSUajrz8i0=/mnd=8rsCMIi/F4d71XkH8V6C7Sd4IEsxVHG5EPreIZOAM0ehPTyZ4VQqHoTY2yjZwpu4LwNqQ0/l8Izyh3hczpHzl8Ai/gfkLXwR159IhKVgwP0/wxzcnnD2F8dBiQGHF7XEdbRmlplyvFos0dXsWfTFfBSRXwc2BGJtKyvO3ku2WIb1EAKJBq9rGNQv=WaMUeh087HNk+c1L6TQwCPrqm/HzaRtl3t1LYm1nmFpSfpZnbVohIfuWpIhAKrKWULSiJqJeD1Wo2TzRCh5E2tfqtRdfMvaoRoXAsU8i8RKHxmHu5qG0IUAI/ux4D0W=+Hw/DYCi47I3gaMpOf2ZsJa3SKr+kk4Hp2Oou1YfHyNw4VaPEXvkw+/WjU/9qqt4GOKAlG179j3slwGcxO6zMTxd/UoLw0h1S4wTqbi27zKkYiXB8fdTvxppQ9NAkIZQJpQ10ARdKByve6wqSznbhnGGiVEGwAmhTXPZ1v0NbAY+my1747N/2RdWSsEAX9m3WBniojR4AQENeXr=GZx0WZ01LlE2qScizbxu7UuDrCQL9LxuYf1/HYYwnzIhvvrldWmwAbylRJc1VYXGLu0dhkd/dbdIHvGr9AZQ37iMicXWvd/9E3ZftMJKPA9ilvdwCW42UMcXX8VTTQVgNNPWItRGtGWesVvugY8y5T/XZ=nOgdlwUqLsWtTH13cqgCmz+UgWcGnRFxVTmL17pJ6ZKucy8AkkUYQRsITfZfqhFxKbxR+oNTDFHSrhw/ADcOmh4ZeQA0AK67gvok4H9=t=v+6vFWEnvhrfr9RiHc9yVbwBUzAYTCZk2bOz0V6telWvtnon3Qo6qZu6SzALhnnZX4UXLpuk+Jtsfuu26dEg5Hf1I1C5l3i7+Vo6gmKGbyGe/BXf3Rhp2M/uVrNczYcZaH+GdTLUmXPEf/eZ62xKBDV0eoQAAqiv4h+xXTRvfL92dqizpXm9f35upJxwWo+jmRv1XH=ZVY5ocHnPWIXrhS3xz5fSx+uB0kcMaZz1Da6EW=AUZoccRx0nWrMUCmkDBzCQDi2Z+rXgv=Gzy96BKEkdLes9qGoLQoHJjIRlIkTPGixVXTMoWsV/f=HG9Aa2450cI1RmujMFkBRsyPDn0+zL2ZvoSIOXlHhx62zET=3mdbYsBmMiqAn88jBno7GUfbQ5DQ8L695cOtaOK9UF8ICSra5UswBmvUatVwvgMcKRSNDfTnEtsYt2+KSO8P1xCvHaJ=PiN95LM6PEzaGliQwZ7Dd=LWXR0GUBqqq+TsuTxGHLxzPvm119ceAEfyF8fqP/2Fuj6snCgRl1x/mbu/xBjUjvNAUGtfgtN5p8c3YlC9JN+D=XMo8MF0wYTqsXaN1ssGdXHsU0tbl2NZHizzJ4+njTYZMqmRTZD=h6zDW3ZkcGmGG0GLuo0TuJUTmE7tKpr7Sn2rWwWksdXe3GmicdYU0Py1YMtoO6qjGpDk0rJlDCyqzCi3RfH8R2C6+2WWx1NGhzmL2n8ku=iZT2uLnLn+RaeFse38LD38TKvjrYmxZFN4fGeKSdMqK"
seqs = set()
for i in range(len(s)-4):
si = s[i:i+5]
for j in range(5):
sw = '%s*%s' % (si[0:j], si[j+1:5])
if sw in seqs:
print sw
seqs.add(sw)
# Problem 2
s = "bDq4i3eFNmjh2oMgjNsIFkRWsonRl=tz9kf8gOpED2gVQrfx49GjR9/QNqTEJkSzM30p4RfneDc7EmdusIYdxxZ8KKdND==YpLlmN/FkErS7uqVHYIyGEBIhIRX+mbg6FjVGqfYjobX3F1lSmPpLXXxhux1lV=EzIgGct9pd=ogzAdJU4/yZOj9=njfvbSo11bcE/yUDHg/J=6DAtmWt+P/VDvE4GyYHlKVGUoksn+Lzm6Y1VVF6qw=onnKZS=CQQUPeMlUGtMobJEeyIyGBMFj5kHml1waI97qgVt/yeKWSXxhJyK+As0M0UR2KL+U7klKMlWlxgbIJ2beN0gaMHbIClKrBuroo+L73CwnbFKRiyKOx8Ke=PPukm1BWYd4Do5nikrT0dgPWlmItCzyZrEiOBgBtEB9FG1qdQJud182qYU4Xwry=bR7R5PH=Npab7JQ7gY=MYHW24iw=m2+XayIachr=QVt4giclLluUEu3Dx/5y7R0GlINqoJc9O6QwEP6a9PRsdt86nZYQUF/b729lzilkM1PB8mDPACTOGobXSJJQshRQCoJoC9TX6ERou/tlMWNQTaaU0YmzIFh8t72lgOeIMu4W2S9V8Y5jO8T47ZPRGxeQDWRQlpx1tc3AC4+x2zJxZaYV6d4+rxxWgYnYC1ZwUvXNF2YLaRw7ldRXCz9/7xZ3mKBj4Ox51L3PqGXAIB+OI4pgkUc1X52tOPdRPgpsfi8wNpynfylwjITvNKq93iViQiyiEVGBgazbHQ7boh5tejStBE1SCk1fMe1=ycNoxJzhAH4x/YlQSUOz/2qkl+JxFBt8sqRYXZjZ6R=Gh87ZwS4B0Meo56/WF+40bf2mTgG05KQ/qR89NMyttHdwwnzvkZuXGrlt/yuStJaXJNkqQ5atDPWqLJy4Q9iylEdI3qmTe6Wmou/umQG7Q+aiOXorJde3Z4CzMyTYnCWvudFDZvgEZsuKRiSOurstnxFRlqVQ0LC7WRuS=qCsDcxoDT5dl9NHusV4kZ/"
n = 0
for c in s[::2]:
try: n += int(c)
except: pass
print n
# Problem 3
s = "2298163507642079319714044011236386616537514556458624876361063538594523631728704374833046762730571781372667347996722877761242458964516235987144911867899093570411259125272325950690385718016406645948728247900092493610635939061585125579278248678382561153927262068997135688096479833275438059003000577156030985752302737572142995389102392941277376055589936729467932043612276625158946842268530893693249010877756556663809256430403075836704397788157103267683082146557414910592210694688897583745853279150372366550265606245942901619641524394840947123797093291647952437507481770581519782926025000309975240809176732086412721877283182868239907386563436552684713604652833551208756316179487399401951895977814655415305700855625446129108900687384799001387951671104621436799720362491054813946856845126233235524710982837568591533011593761372364447069814628293634127437282262501219295880363659562599465416237996647317561877859528573985271179776400465798163016446475504146022123819119158936569549701762530276146646914630937941723419963811828693735274888334852800116766879328915880099767105948195091109555590581643322251908783026670007080972249010100892419108486345305849353679974424946961324819560021379840782224833262895740825258961195814695840112138347952831118547888120194142040782810626793593"
sl = [int(c) for c in s]
for i in range(1, len(s)):
s0i = sl[0:i]
sum_s0i = sum(s0i)
solution = [s[0:i]]
j = i
while True:
found = False
for k in range(1, len(s)):
sjk = sl[j:j+k]
sum_sjk = sum(sjk)
if sum_sjk == sum_s0i:
solution.append(s[j:j+k])
found = True
break
elif sum_sjk > sum_sjk:
break
if found:
j += len(sjk)
if j == len(s):
assert ''.join(solution) == s
print len(solution)
exit(0)
else:
break
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment