POLSKI SPOJ

Problem hidden
This problem was hidden by Editorial Board member probably because it has incorrect language version or invalid test data, or description of the problem is not clear.

Zadanie w systemie SPOJ (latwe)

3456. Szyfrowanie ROT13

Kod zadania: PASCHAR5

Szyfr ROT

Przeczytaj opis szyfrowania ROT13: http://pl.wikipedia.org/wiki/ROT13 .

Napisz program, który będzie kodował wszystkie wprowadzone litery (małe i wielkie, ale tylko litery!) szyfrem ROT13. Natomiast wszystkie cyfry - analogicznym szyfrem ROT5. Możesz użyć poniższego szkieletu programu.

var c : char;
    numer : integer;

begin

    {w petli ma byc:
      wczytywanie c (jest)
      kodowanie malych liter (jest)
      kodowanie wielkich liter (napisac)
      kodowanie cyfr (napisac)

       po zakodowaniu zmienna c ma zawierac albo 
oryginalna wartosc (dla np. '+') albo zakodowana.

      wypisanie c (jest)
    }

    while not eof() do
    begin
        read(c);

        {male litery}
        if (c>='a') and (c<='z') then
        begin
            {numer litery w alfabecie, dla 'a' = 0, dla 'b' =1, ..., 'z'=25 }
            numer := ord(c) - ord('a');

            {zakodowanie liczby - dodanie 13, i "zawiniecie" jesli numer}
            {wykracza poza 'z' (numer 25) }
            numer := (numer + 13) mod 26;

            c:= chr(ord('a')+numer) ;
        end;

        {wielkie litery}

        {cyfry}

        write(c);
    end;
end.

Możesz prześledzić działanie programu krok po kroku (F8). Aby śledzić wartości zmiennych użyj polecenia z menu Debug/Add Watch (i tam wpisz np. c lub numer).

Wejście

Dane tekstowe.

Wyjście

Tekst źródłowy zaszyfrowany: litery szyfrem ROT13, cyfry szyfrem ROT5.

Przykład

Uwaga - wprowadzanie z klawiatury zakończ ctrl-z (windows) lub ctrl-d (unix/linux).

Wejście:
Hello World!
DAS23dsaf 31 24+ 2314 3-'[;
Panie Prezesie toniemy w dlugach!

Wyjście:
Uryyb Jbeyq!
QNF78qfns 86 79+ 7869 8-'[;
Cnavr Cermrfvr gbavrzl j qyhtnpu!

Dodane przez:Jacek Dąbrowski
Data dodania:2008-12-06
Limit czasu wykonania programu:1s
Limit długości kodu źródłowego50000B
Języki programowania:All except: PERL 6

ukryj komentarze
2011-07-02 01:29:41 oktiwek
<Już nie ważne>

Ostatnio edytowany: 2011-08-15 07:32:48
2011-06-01 12:47:41 Piotr Kąkol
@Aleksander Nitecki - Kwestia wprawy. ;-) Ja kiedyś napisałem JGGHACKa na ifach jak zaczynałem pisać. ;-)
2011-06-01 10:05:02 Aleksander Nitecki
@Filip Gomułkiewicz - na ifach? OMG, to już lepiej na tablicy przekształceń. A taki problem napisać tą funkcje normalnie?
2011-05-31 19:17:56 Marcin Radziszewski
nie da sie tego zrobic w BFie :) zawsze bedzie timelimit.
2011-05-03 10:36:30 Paweł Bielicki
heh algorytm ten sam w sumie xD bardziej glowilem sie nad wczytaniem lini, jakis glupi blad jak zawsze ;p
2011-03-11 13:42:41 Maciej L.
Można było też na dwóch :)
2011-02-09 17:15:07 Filip Gomułkiewicz
Szyfr Cezara był co prawda łatwiejszy ale można było go zrobić na 26 if'ach :D
Ja tak zrobiłem i AC xD
2010-12-02 00:42:29 Jakub Pierewoj
polecam najpierw rozwiązać Szyfr Cezara ;)
SPOJ System © 2012 Sphere Research Labs | Projekty informatyczne i aplikacje na zamówienie. All Rights Reserved.