diff --git a/Day25/caesar/main.go b/Day25/caesar/main.go index 8274c47..1e8fa9e 100644 --- a/Day25/caesar/main.go +++ b/Day25/caesar/main.go @@ -52,27 +52,15 @@ func main() { } func encrypt(k int, plainText string) { - for _, c := range plainText { - if !unicode.IsLetter(c) { - fmt.Print(string(c)) - continue - } - - var factor int - if unicode.IsUpper(c) { - factor = 'A' - } else { - factor = 'a' - } - - e := (((int(c) + k) - factor) % 26) + factor - fmt.Print(string(e)) - } - fmt.Println() + shift(plainText, k) } func decrypt(k int, cipherText string) { - for _, c := range cipherText { + shift(cipherText, -k) +} + +func shift(text string, shift int) { + for _, c := range text { if !unicode.IsLetter(c) { fmt.Print(string(c)) continue @@ -85,7 +73,7 @@ func decrypt(k int, cipherText string) { factor = 'a' } - e := (((int(c) - k) - factor) % 26) + factor + e := (((int(c) + shift) - factor) % 26) + factor fmt.Print(string(e)) } fmt.Println()