poniedziałek, 19 marca 2018

00034 - 1300 - Szyfr Cezara - www.pl.spoj.com

Treść zadania:

Szyfr Cezara jest to szyfr za pomocą, którego Juliusz Cezar szyfrował swoje listy do Cycerona. Jako ciekawostkę można podać, że szyfr ten był podobno używany jeszcze w 1915 roku w armii rosyjskiej, gdyż tylko tak prosty szyfr wydawał się zrozumiały dla sztabowców.

Każdą literę tekstu jawnego zamieniamy na literę przesuniętą o 3 miejsca w prawo. I tak literę A szyfrujemy jako literę D, literę B jako E itd. W przypadku litery Z wybieramy literę C. W celu odszyfrowania tekstu powtarzamy operację tym razem przesuwając litery o 3 pozycje w lewo.

Input
Na wejściu pojawi się tekst zawierający jedynie wielkie litery alfabetu łacińskiego, spacje oraz znaki nowej linii, a jego długość nie przekracza 200 znaków.

Output
Na wyjściu otrzymujemy zaszyfrowany tekst używając Szyfru Cezara.

Example

Input:
ABC DEF
TERA EST ROTUNDA

Output:
DEF GHI
WHUD HVW URWXQGD


Kod źródłowy w C:
#include <stdio.h>
#include <stdlib.h>

int main()
{
    char c;
    for(;scanf("%c",&c)==1;)
    {
        if(c<='Z' && c>='A')
        {
            if(c>'W')
            {
                printf("%c",c-23);
            }
            else
            {
                printf("%c",c+3);
            }
        }
        else
        {
            printf("%c",c);
        }
    }
    return 0;
}



Kod źródłowy w C++:
#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
    char c;
    for(;scanf("%c",&c)==1;)
    {
        if(c<='Z' && c>='A')
        {
            if(c>'W')
            {
                printf("%c",c-23);
            }
            else
            {
                printf("%c",c+3);
            }
        }
        else
        {
            printf("%c",c);
        }
    }
    return 0;
}



Źródło: http://pl.spoj.com/problems/JSZYCER/

Brak komentarzy:

Prześlij komentarz