Contest - Atbash

« Older   Newer »
  Share  
Semaphore
CAT_IMG Posted on 28/1/2011, 13:56     +1   -1




Vi propongo un contest veramente facile: da fare in 5 minuti! No... è troppo... :P
Praticamente dovete applicare l'atbash in un programma che lo potete fare in qualsiasi linguaggio di programmazione, tranne quelli di scripting (Autoit incluso, ovviamente).
L'atbash è una sottospecie di cifrario, simile al cifrario di Cesara (ma molto più semplice!), in cui la prima lettera dell'alfabeto viene sostituita con l'ultima, la seconda con la penultima, la terza con la terzultima, etc...
Eccovi lo schema (tratto da Wikipedia):
CODICE
Testo in chiaro: a b c d e f g h i l m n o p q r s t u v z
Testo cifrato: Z V U T S R Q P O N M L I H G F E D C B A

Scade domani 29/01/2011 il 1° di febbraio (ripeto, si può fare in 5 minuti)...

Edited by Semaphore - 29/1/2011, 07:49
 
Top
I.Ren
CAT_IMG Posted on 28/1/2011, 14:41     +1   -1




python

CODICE
def cripta(stringa):
   alfa = ['a','b','c','d','e','f','g','h','i','l','m','n','o','p','q','r','s','t','u','v','z']
   ret = ''
   for i in range(len(stringa)):
       pos = alfa.index(stringa[i])
       asd = (len(alfa)-pos)-1
       ret = ret + '' + alfa[asd]

   return ret

a = cripta('abcdefghilmnopqrstuvz')
b = cripta(a)
print(a,'\n',b)
 
Top
Semaphore
CAT_IMG Posted on 28/1/2011, 14:57     +1   -1




Bravo, per ora il 1° posto è tuo! ;)
 
Top
/dev/random
CAT_IMG Posted on 28/1/2011, 16:02     +1   -1




Python è di scripting!
 
Top
I.Ren
CAT_IMG Posted on 28/1/2011, 17:40     +1   -1




shhh
 
Top
/dev/random
CAT_IMG Posted on 28/1/2011, 18:32     +1   -1




lol però non vale xD
 
Top
xMasteRx
CAT_IMG Posted on 28/1/2011, 18:37     +1   -1




lol sono sul telefonino e non si puo usare au3... Che azz faccio? XD cmq i.ren bambino cattivo u.u
 
Top
/dev/random
CAT_IMG Posted on 28/1/2011, 18:55     +1   -1




Non vale neanche AutoIT xDxDxD
 
Top
xMasteRx
CAT_IMG Posted on 28/1/2011, 19:54     +1   -1




CITAZIONE (/dev/random @ 28/1/2011, 18:55) 
Non vale neanche AutoIT xDxDxD

infatti guarda cosa ho scritto XD si vabbhe la mia frase non è chiara ma si capisce u.u
 
Top
Semaphore
CAT_IMG Posted on 28/1/2011, 20:24     +1   -1




CITAZIONE (/dev/random @ 28/1/2011, 16:02) 
Python è di scripting!

Secondo te non lo so? Ma visto che è stato tempestivo nel postare il programma e sono un suo gran fan (i suoi programmi mi piacciono davvero) mi è sembrato giusto fare uno strappo alla regola... ma visto che nei contest tutti devono esser alla pari, modifico il post iniziale e do il permesso a tutti di postare il vostri programmi anche in linguaggi di scripting... :D
SPOILER (click to view)
...anche se mi piacerebbe molto non farlo e dare una mano solo e soltando ad I.Ren...! :P
 
Top
I.Ren
CAT_IMG Posted on 28/1/2011, 21:37     +1   -1




Uhh un fan!

il primo di una lunga serie *__*
 
Top
xMasteRx
CAT_IMG Posted on 28/1/2011, 21:48     +1   -1




vabbhe in au3 lo faccio u.u fatto in 4 minuti lol non ho fatto in meno perché ho copiato la gui XD
SPOILER (click to view)
CODICE
Opt("GUIOnEventMode", 1)
$GUI=GUICreate("Atbash algoritm", 500, 300)
GUISetOnEvent(-3, "_Exit")
GUISetState()
GUICtrlCreateLabel("Testo", 10, 10)
$InTxt=GUICtrlCreateEdit("", 10, 30, 210, 260)
$ButCript=GUICtrlCreateButton("Cript", 220, 50, 60, 20)
GUICtrlSetOnEvent(-1, "_AtBash")
GUICtrlCreateLabel("Return", 290, 10)
$InFinTxt=GUICtrlCreateEdit("", 290, 30, 200, 260, 0x0800)
Do
     Sleep(10)
Until False

Func _Exit()
     Exit
 EndFunc
 
Func _AtBash($txt="")
       If Not IsDeclared("txt") Then $txt=GUICtrlRead($InTxt)
       $split=StringSplit($txt, "")
       $rtxt=""
       For $x=1 To $split[0]
               $asc=Asc($split[$x])
               If $asc>=65 And $asc<=90 Then
                       $asc-=65
                       $rtxt&=Chr(25-$asc+65)
               ElseIf $asc>=97 And $asc<=122 Then
                       $asc-=97
                       $rtxt&=Chr(25-$asc+97)
               Else
                       $rtxt&=$split[$x]
               EndIf
       Next
       GUICtrlSetData($InFinTxt, $rtxt)
EndFunc


Edited by xMasteRx - 28/1/2011, 21:57
 
Top
Semaphore
CAT_IMG Posted on 28/1/2011, 21:56     +1   -1




Il nome della GUI lo potevi cambiare: "Cifrario di Cesare" :P
 
Top
xMasteRx
CAT_IMG Posted on 28/1/2011, 21:57     +1   -1




già XD
 
Top
Semaphore
CAT_IMG Posted on 29/1/2011, 07:49     +1   -1




Vista la scarsa partecipazione, la scadenza del contest viene posticipata al 1° di febbraio... -_-
 
Top
18 replies since 28/1/2011, 13:56   393 views
  Share