Reverse Rot: Difference between revisions
Jump to navigation
Jump to search
imported>Kmk21 No edit summary |
imported>Kmk21 No edit summary |
||
Line 42: | Line 42: | ||
[[Category:Implementation Easy]] | [[Category:Implementation Easy]] | ||
[[Category:Algorithm Trivial]] | [[Category:Algorithm Trivial]] | ||
[[Category:ASCII]] |
Latest revision as of 19:48, 13 January 2016
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);
}
}
}