Reverse Rot: Difference between revisions
Jump to navigation
Jump to search
imported>Ww109 |
imported>Ww109 |
||
Line 1: | Line 1: | ||
[http://speedyguy17.info/data/mcpc/mcpc2013/mcpc2013/pdfs/C%20Missing%20Pages.pdf Original Description] | [http://speedyguy17.info/data/mcpc/mcpc2013/mcpc2013/pdfs/C%20Missing%20Pages.pdf Original Description] | ||
== Idea == | == Idea == | ||
Manipulate the ASCII value of chars | |||
Handle special cases of moving them to the end of normal ones. Then use module to get the result after shift | |||
== Code == | == Code == |
Revision as of 17:42, 5 December 2015
Idea
Manipulate the ASCII value of chars
Handle special cases of moving them to the end of normal ones. Then use module to get the result after shift
Code
import java.util.*;
public class Reverse_Rot {
public static void encrypt(String s, int k){
for(int i = s.length()-1; i>=0; i--){
char c = s.charAt(i);
if(c == 95) c = 91;
if(c == 46) c = 92;
c = (char)(c + k);
c = (char)((c - 'A') % 28 + 'A');
if(c == 91) c = 95;
if(c == 92) c = 46;
System.out.print(c);
}
System.out.println();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
while(scan.hasNext()){
int k = scan.nextInt();
if(k == 0)
break;
String s = scan.next();
encrypt(s,k);
}
}
}