加密規則:
(digit+5)%10)。
import java.util.Scanner;
public class FourDigitEncrypt {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num;
do {
System.out.print("請輸入四位正整數:");
num = sc.nextInt();
} while (num < 1000 || num > 9999);
int[] digits = new int[4];
digits[0] = num / 1000;
digits[1] = (num / 100) % 10;
digits[2] = (num / 10) % 10;
digits[3] = num % 10;
// 步驟 1:加 5 取模
for (int i = 0; i < 4; i++) {
digits[i] = (digits[i] + 5) % 10;
}
// 步驟 2:對稱交換
swap(digits, 0, 3);
swap(digits, 1, 2);
System.out.print("加密結果:");
for (int d : digits) System.out.print(d);
System.out.println();
}
static void swap(int[] arr, int i, int j) {
int tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp;
}
}
(x-5+10)%10 == (x+5)%10)。
public static int decrypt(int encrypted) {
int[] d = new int[4];
d[0] = encrypted / 1000;
d[1] = (encrypted / 100) % 10;
d[2] = (encrypted / 10) % 10;
d[3] = encrypted % 10;
swap(d, 0, 3);
swap(d, 1, 2);
for (int i = 0; i < 4; i++) d[i] = (d[i] + 5) % 10; // 同加密操作
return d[0]*1000 + d[1]*100 + d[2]*10 + d[3];
}