Vigenère 암호 (문제에 대한 P1079 로스 문제 솔루션 밸리, 자바 언어의 설명)

질문 질문

P1079 주제 링크
그림 삽입 설명 여기
그림 삽입 설명 여기

분석

이 문제는 몇 시간 동안 수행, 말을 아주 좋지 않다.
그러나 공식 무리의 도입은 매우 골칫거리.
우리는 자신의 모습에 관심이 있습니다.

우리는 두 개의 극단적 인 방식을 권장합니다 :

AC 코드 (자바 기술 언어)

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        char[] chars1 = scanner.nextLine().trim().toCharArray();
        char[] chars2 = scanner.nextLine().trim().toCharArray();
        scanner.close();
        for (int i = 0; i < chars2.length; i++) {
            int temp = chars2[i] - chars1[i%chars1.length] + 26;
            boolean isUpper = Character.isUpperCase(chars1[i%chars1.length]);
            if (Character.isUpperCase(chars2[i])) {
                if (isUpper) {
                    chars2[i] = (char)((temp % 26) + 'A');
                } else {
                    chars2[i] = (char)(((temp - 'A' + 'a') % 26) + 'A');
                }
            } else {
                if (isUpper) {
                    chars2[i] = (char)(((temp - 'a' + 'A') % 26) + 'a');
                } else {
                    chars2[i] = (char)((temp % 26) + 'a');
                }
            }
        }
        System.out.println(new String(chars2));
    }
}
게시 된 717 개 원래 기사 · 원 찬양 1513 ·은 69 + 조회수

추천

출처blog.csdn.net/weixin_43896318/article/details/104852487