이 응용 프로그램은 이산 수학으로 분리된 수학 분야와 관련된 특정 기능을 제공하도록 설계되었습니다. 이 응용 프로그램에는 일부 알고리즘, 정수론 및 암호화의 일부, 유도 및 재귀, 선택된 고급 계산 방법의 구현이 포함됩니다. 이산수학 및 그 응용(McGraw-Hill Education - Kenneth H. Rosen) 주제는 하나의 응용 프로그램에서 다루는 것이 불가능하며 이 응용 프로그램 자체가 그러한 작업을 설정하지 않습니다.
애플리케이션의 알고리즘에는 다음이 포함됩니다(알고리즘 활동): 선형 및 이진 검색을 위한 알고리즘, 버블 방법 및 반전 방법에 의한 정렬, 연결된 쌍 및 겹치지 않는 쌍 결정(예: 강의와 같이 시작과 끝이 있는 이벤트).
버블 정렬은 가장 간단한 정렬 알고리즘 중 하나이지만 가장 효율적인 정렬 알고리즘은 아닙니다. 인접한 요소를 연속적으로 비교하고 순서가 잘못된 경우 상호 교환하여 목록을 오름차순으로 배치합니다. 버블 정렬을 수행하려면 기본 작업을 수행합니다. 즉, 전체 전달을 위해 목록의 시작 부분부터 시작하여 큰 요소를 그 뒤에 오는 작은 요소와 교환합니다. 정렬이 완료될 때까지 이 절차를 반복합니다.
삽입 정렬은 두 번째 요소를 첫 번째 요소와 비교하여 첫 번째 요소를 초과하지 않으면 첫 번째 요소 앞에 삽입하고 첫 번째 요소를 초과하면 첫 번째 요소 뒤에 삽입합니다. 이 시점에서 처음 두 요소는 올바른 순서로 되어 있습니다. 그런 다음 세 번째 요소가 첫 번째 요소와 비교되고, 첫 번째 요소보다 크면 두 번째 요소와 비교됩니다. 처음 세 요소 중 올바른 위치에 삽입됩니다. 절차는 목록 끝까지 다음 요소와 동일한 방식으로 계속됩니다.
각 단계에서 "최상의" 선택으로 보이는 알고리즘을 탐욕 알고리즘이라고 합니다. 이는 연결된 쌍과 비중첩 쌍에 대한 두 가지 알고리즘입니다.
겹치지 않는 쌍을 사용하여 두 사이트 간의 경로를 찾을 수 있습니다.
숫자 변환 및 암호화 활동에는 다음이 포함됩니다. - 한 숫자 체계에서 다른 숫자 체계로 숫자를 변환합니다. 그리고 기타.
응용 프로그램은 실제로 한 숫자 체계에서 다른 숫자 체계로 숫자를 변환할 때(숫자 변환 활동), 다른 숫자 체계의 정수를 사용한 산술 연산(산술 연산)에서 사용할 수 있습니다(기본 2,3,4,5,6,7,8,9,16에 포함됨). 산술 연산과 다른 숫자 체계로의 변환은 소위 BigInteger라고 하는 피연산자 길이에 대한 제한 없이 정수에 대해 수행됩니다.
인수분해(인수분해 활동)에는 숫자의 소인수 결정, 두 숫자의 최대 공약수 결정 등이 포함됩니다.
비트 길이에 따라 결정되는 BigInteger(의사 난수) 유형의 의사 난수 생성.
라틴 알파벳(26)의 텍스트 암호화(암호화 활동), 키릴 문자(30자)의 텍스트 암호화, RSA 방법 및 AES 방법을 사용한 암호화. 모든 암호화 방법을 사용하면 이름이 AppDiscret인 장치의 다운로드 디렉터리에 암호화된 파일을 저장할 수 있습니다.
암호화에서는 과도한 양의 메모리를 사용하지 않고 효율적으로 m으로 나눈 거듭제곱에서 b의 나머지 부분을 찾을 수 있는 것이 중요합니다. 이 앱에는 빠른 모듈러 지수화(빠른 모듈러 지수화 활동) 기능도 있습니다.
응용 프로그램의 수학적 귀납법에는 다음이 포함됩니다(수학적 귀납 활동): 첫 번째 N 정수의 합 및 기타
고급 계산 기능(활동 계산)에는 다음이 포함됩니다. - 특정 시간 이후에 증식된 박테리아 수를 계산합니다. - 피보나치 수열; - 하노이 타워 게임에서 디스크 이동 횟수; 그리고 기타.
거의 모든 활동에는 계산된 특성을 드러내는 도움말이 있습니다.