해결됨: 소수

마지막 업데이트 : 09/21/2023

소수 수학과 컴퓨팅 분야에서 중요한 위치를 차지하고 있습니다. 본질적으로 소수는 2보다 큰 자연수이며 3과 자기 자신 외에는 양의 약수가 없습니다. 예를 들어 처음 5개의 소수는 7, 11, 13, XNUMX, XNUMX, XNUMX입니다. 소수를 이해하고 다루는 것은 암호화 알고리즘, 인수분해 등 여러 영역에서 매우 중요합니다.

소수 문제에 대한 해결책

프로그래밍이나 계산 수학에서 소수와 관련된 주요 문제는 주어진 숫자가 소수인지 아닌지를 결정하는 것입니다. 정확하게 말하면 여기서 우리의 목표는 'n'(음이 아닌 정수)이 소수인지 테스트하는 것입니다. 이 문제를 해결하기 위해 간단한 알고리즘을 구현하겠습니다.

우리의 접근 방식에는 'n'이 2와 'n'의 제곱근 사이의 정수의 배수가 아닌지 확인하는 것이 포함됩니다. 그렇지 않은 경우 'n'은 소수라고 결론을 내립니다. 이는 숫자의 더 큰 요소가 항상 이미 확인된 더 작은 요소의 배수라는 수학적 사실에 기초합니다.

소수를 결정하는 Cobol 코드

이 세그먼트에는 Cobol의 소수 문제를 해결하는 데 필요한 코드가 포함되어 있습니다. 수행 방법은 다음과 같습니다.

식별 부서.
프로그램 ID. 기본.
데이터 부문.
작업 저장 섹션.
01 번호 PIC 99.
01 x 그림 99.
절차부.
시작.
DISPLAY “숫자를 입력하세요 : “.
수락 번호
x * x > Num까지 2 BY 1에서 x를 다양하게 수행합니다.
IF 숫자 MOD x = 0
DISPLAY Num ”은(는) 소수가 아닙니다.”
프로그램 종료
END-IF
최종 수행.
DISPLAY Num ”은 소수입니다.”
실행을 중지합니다.

코드 이해

소수해법의 단계는 다음과 같습니다.

  • 먼저 'Num'과 'x'라는 두 변수를 정의합니다.
  • 우리는 사용자에게 숫자를 요청하여 'Num'에 저장합니다.
  • 다음으로 PERFORM 루프를 사용하여 'Num'을 2에서 점진적으로 나누기 시작합니다. 'x' 제곱이 'Num'보다 커질 때까지 이를 계속합니다.
  • 루프 내에서 'Num'을 'x'로 균등하게 나눌 수 있으면(즉, 나머지 =0) 'Num'은 소수가 아니므로 프로그램을 종료합니다.
  • 그러한 'x'를 찾지 않고 루프를 종료하면 'Num'은 소수입니다.

관련 라이브러리 및 기능

이 간단한 Cobol 프로그램에는 추가 라이브러리나 기능이 필요하지 않습니다. 기본 Cobol 언어 구문이 사용되며 ACCEPT(사용자 입력 가져오기), DISPLAY(콘솔에 인쇄) 및 PERFORM(잠재 제수를 반복)과 같은 일부 내장 작업을 활용하고 있습니다. MOD 함수를 사용하면 소수 문제를 해결하는 데 중요한 나눗셈의 나머지를 찾을 수 있습니다.

암호화를 위한 보안 키를 생성하든, 다른 계산 작업을 위해 소수가 필요하든, 소수를 이해하고 결정할 수 있는 것은 프로그래밍 무기고에서 귀중한 기술입니다. 소수를 효과적으로 인식하고 활용하려면 이 Cobol 스크립트를 숙지하세요.

관련 게시물: