输入一个原始字符串(长度小于80),然后输入一个5位的数字字符串作为加密密钥,对原始字符串中的每个字符根据其位置(对5取模)变换为加上数字字符串中的数字的字符。如输入原始字符串student,然后输入5位的加密数字12345,因此:
原始字符 加密数字 变换后的字符
s 1 t
t 2 v
u 3 x
d 4 h
e 5 j
n 1 o
t 2 v
加密后的字符串位:tvxhjov
输入格式:
第一个输入一个原始字符串
第二行输入一个5位用来加密的数字字符串
输出格式:
加密后的字符串
输入样例1:
在这里给出一组输入。例如:
student
12345
输出样例1:
在这里给出相应的输出。例如:
tvxhjov
输入样例2:
在这里给出一组输入。例如:
Welcome to Java!
10932
输出样例2:
在这里给出相应的输出。例如:
Xeufqne)wq!Jjyc"
代码长度限制16 KB
时间限制400 ms
内存限制64 MB
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//样例中有空格需获取一整行
String str = sc.nextLine();
String num = sc.next();
StringBuilder sb = new StringBuilder();
int numLength = num.length();
for (int i = 0; i < str.length(); i++) {
char a = str.charAt(i);
//i%numLength为加密数字循环使用
int b = num.charAt(i % numLength) - '0';
sb.append((char)(a + b));
}
System.out.println(sb);
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/6dbc1f53fb4267cc31dfadd9dccc962b.png)
缩减:
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String num = sc.next();
for (int i = 0; i < str.length(); i++) {
System.out.print((char)(str.charAt(i) + num.charAt(i % num.length()) - '0'));
}
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/2ef0e9c40c28fa25b60db1e410b18709.png)