사다리꼴 규칙과 마찬가지로 Simpson의 1/3 규칙은 a에서 b까지의 범위에서 정수 값을 찾는 데에도 사용됩니다. 사다리꼴과 심슨의 1/3 법칙의 가장 큰 차이점은 사다리꼴 법칙에서는 전체 단면이 일부 사다리꼴로 분할되지만 이 경우 각 사다리꼴도 두 부분으로 분할된다는 점입니다. 이 규칙의 경우 다음 공식을 따릅니다. 여기서 h는 간격의 너비이고 n은 간격의 수입니다. 를 사용하여 h를 찾을 수 있습니다. 입력 및 출력 Input: The function f(x): (x+(1/x). The lower and upper
주어진 데이터 포인트 세트에서 선형 회귀는 직선 방정식을 찾습니다. 주어진 점은 직선을 따를 것입니다. 이 공식을 사용하여 현재 집합에 없는 다른 특정 지점의 값이 무엇인지 예측할 수 있습니다. 일부 데이터 포인트를 사용하여 선형 회귀 문제를 해결하려면 다음 공식을 따라야 합니다. 여기서 m과 c는 각각 기울기와 y절편입니다. 이 식을 사용하여 다음 형식의 직선 방정식을 얻을 수 있습니다. 𝑦 =𝑚𝑥 + 𝑐. 입력 및 출력 Input: The (x, y) coordinates of some points. {(1,3),
Runge Kutta 방법은 상미분 방정식(ODE)을 푸는 데 사용됩니다. x와 y에 대해 dy/dx 함수를 사용하며 y의 초기 값, 즉 y(0)도 필요합니다. 주어진 x에 대한 y의 근사값을 찾습니다. ODE를 풀려면 다음 공식을 따라야 합니다. 여기서 h는 간격의 높이입니다. 참고: 이 공식에서 처음 두 개의 k1과 k2를 사용하여 ODE에 대한 Runge-Kutta 2차 해를 찾을 수 있습니다. 입력 및 출력 Input: The x0 and f(x0): 0 and 0 the value of x = 0.4 the value
주어진 데이터 포인트의 개별 세트 범위 내에서 새로운 데이터 포인트를 구성하기 위해 보간 기술이 사용됩니다. 라그랑주 보간 기법이 그 중 하나입니다. 주어진 데이터 포인트가 고르게 분포되지 않은 경우 이 보간 방법을 사용하여 솔루션을 찾을 수 있습니다. Lagrange 보간법의 경우 이 방정식을 따라야 합니다. 입력 및 출력 Input: List of x and f(x) values. find f(3.25) x: {0,1,2,3,4,5,6} f(x): {0,1,8,27,64,125,216} Output: Result aft
행운의 숫자는 특별한 정수입니다. 기본 번호에서 일부 특수 번호는 위치별로 제거됩니다. 값 대신 위치에 대해 숫자가 제거됩니다. 삭제되지 않은 숫자는 행운의 숫자입니다. 번호 삭제는 몇 가지 규칙을 따릅니다. 처음에는 두 번째 번호마다 삭제되고 그 다음에는 세 번째 번호가 모두 삭제되는 방식으로 진행됩니다. 다음은 몇 가지 예입니다 - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 (1 – 25 all) 1 3 5 7 9 11 13 15 17 19
십진수를 이진 형식으로 변환할 수도 있습니다. 10진수를 2진수로 변환하려면 0 또는 1이 될 때까지 숫자를 2로 나누어야 합니다. 그리고 각 단계에서 나머지는 별도로 저장되어 역순으로 2진수 등가를 형성합니다. 이 알고리즘에서는 재귀적 접근 방식을 따릅니다. 스택 데이터 구조를 사용하지 않고 문제를 해결하는 데 도움이 됩니다. 구현에서 우리는 함수의 재귀가 내부 스택을 따를 것이라는 것을 알고 있습니다. 우리는 그 스택을 사용하여 우리의 일을 할 것입니다. 입력 및 출력 Input: Decimal number 56 Output:
수학에서 LCM(최소공배수)은 두 숫자로 나눌 수 있는 가장 작은 정수입니다. LCM은 인수분해 등과 같은 다양한 방법으로 계산할 수 있지만 이 알고리즘에서는 더 큰 수에 1, 2, 3…을 곱했습니다. n 두 번째 숫자로 나누어 떨어지는 숫자를 찾을 때까지 입력 및 출력 Input: Two numbers: 6 and 9 Output: The LCM is: 18 알고리즘 LCMofTwo(a, b) 입력: b로 간주됩니다. 출력: 및 b의 LCM. Begin lcm := a i :=
수학에서 최대 공약수(GCD)는 두 정수를 모두 나누는 가능한 가장 큰 정수입니다. 조건은 숫자가 0이 아니어야 한다는 것입니다. 유클리드 알고리즘을 따라 두 숫자의 GCD를 찾습니다. 입력 및 출력 Input: Two numbers 51 and 34 Output: The GCD is: 17 알고리즘 findGCD(a, b) 입력: 두 개의 숫자와 b. 출력: 및 b의 GCD. Begin if a = 0 OR b = 0, then return 0 &nbs
길이가 n인 막대가 있습니다. 각 크기에 대해 다른 크기와 가격을 포함하는 다른 테이블도 제공됩니다. 봉을 절단하여 시장에 판매하여 최고가를 결정합니다. 낚싯대를 절단한 후 위치를 다르게 하여 가격을 비교하여 최적의 가격을 얻기 위함입니다. f(n)이 길이가 n인 행을 자른 후 가능한 최대 가격을 반환하도록 하십시오. 다음과 같이 f(n) 함수를 간단히 작성할 수 있습니다. f(n) :=price[i]+f(n – i – 1)의 최대 값, 여기서 i는 0에서 (n – 1) 범위에 있습니다. 입력 및 출력 입력 : 다른 길이의
가장 짧은 공통 수퍼 시퀀스는 주어진 두 시퀀스의 각 요소가 존재하는 시퀀스입니다. 즉, 주어진 두 문자열은 모두 Shortest Common Super-Sequence의 하위 시퀀스라고 말할 수 있습니다. 두 문자열에 공통 문자가 없으면 단순히 연결하여 Super-sequence를 얻을 수 있습니다. 그러나 공통 문자가 있는 경우 먼저 가장 긴 문자열을 찾은 다음 다른 문자열의 추가 문자를 추가해야 합니다. 입력 및 출력 Input: Two strings. “ABCDEF” and “XYDEF&rd
숫자는 모든 자릿수(첫 번째 자리 제외)가 이전 자릿수보다 작지 않은 경우 감소하지 않는다고 합니다. 이 알고리즘의 경우 N자리 숫자에 감소하지 않는 숫자가 몇 개 있는지 찾아야 합니다. count(n, d) 함수에 길이가 n이고 문자 d로 끝나는 감소하지 않는 숫자가 몇 개 있는지 계산하면 다음과 같은 관계를 작성할 수 있습니다. $$count(n,d)=\displaystyle\sum\limits_{i=0}^d count(n-1,i)\\total=\displaystyle\sum\limits_{d=0}^{n-1 } 개수(n-1,
무방향 그래프의 경우 정점 덮개는 정점의 하위 집합이며 그래프의 모든 모서리(u, v)에 대해 u 또는 v가 집합에 있습니다. 이진 트리를 사용하면 정점 덮개 문제를 쉽게 해결할 수 있습니다. 이 문제는 두 개의 하위 문제로 나눌 수 있습니다. 루트가 정점 덮개의 일부인 경우. 이 경우 루트는 모든 자식 가장자리를 덮습니다. 왼쪽 및 오른쪽 하위 트리의 꼭짓점 덮개 크기를 찾고 루트에 1을 더하면 됩니다. 입력 및 출력 Input: A binary tree. Output: The vertex cover is 3. 알
못생긴 숫자는 소인수가 2, 3 또는 5인 숫자입니다. 1부터 15까지 11개의 못생긴 숫자 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15. 7, 11, 13은 소수이기 때문에 못생긴 것이 아닙니다. 숫자 14는 소인수에 7이 올 것이기 때문에 못생긴 것이 아닙니다. 이 프로그램에서 우리는 n번째 못생긴 숫자를 찾으려고 노력할 것입니다. 입력 및 출력 Input: Take the term number. Say it is 10 Output: The 10th ugly number is 12 알고리즘 getUglyNum
다양한 작업 목록이 제공되며, 시작 시간, 종료 시간 및 해당 작업의 수익도 해당 작업에 대해 제공됩니다. 우리의 임무는 이익이 최대이고 서로 겹치는 작업이 없는 작업의 하위 집합을 찾는 것입니다. 이 알고리즘에서는 테이블을 사용하여 하위 문제의 결과를 저장하고 하위 문제의 결과를 사용하여 전체 문제를 상향식 방식으로 해결할 수 있습니다. 이 알고리즘의 시간 복잡도는 O(n^2)이지만 충돌하는 작업을 검색하기 위해 이진 검색 방법을 사용하여 O(n Log n)으로 변경할 수 있습니다. 입력 및 출력 Input: The start
일련의 단어가 제공되며 각 줄의 문자 수에는 제한이 있습니다. 줄바꿈을 하여 줄이 선명하게 인쇄되도록 합니다. 일부 행에 많은 추가 공백이 있고 일부 행에 적은 수의 추가 공백이 포함되어 있는 경우 행을 균형을 맞춰야 별도의 행으로 균형이 유지됩니다. 균형을 맞추기 위해 같은 수의 추가 공간을 사용하려고 합니다. 이 알고리즘은 한 줄에 넣을 수 있는 단어 수와 필요한 줄 수를 생성합니다. 입력 및 출력 Input: The length of words for each line. {3, 2, 2, 5}. The max width i
컴퓨터로 표현식을 풀기 위해 접미사 형식이나 접두사 형식으로 변환할 수 있습니다. 여기에서 중위 표현식이 접두어 형식으로 변환되는 방법을 볼 수 있습니다. 처음에는 중위 표현이 반대입니다. 여는 괄호와 닫는 괄호를 반대로 하는 경우에도 반전됩니다. 예:표현식:A + B * (C - D) 식은 다음과 같습니다. ) D – C ( * B + A 따라서 여는 괄호를 닫는 괄호로 또는 그 반대로 변환해야 합니다. 반전 후 표현식은 접미사로 변환됩니다. infix to postfix 알고리즘을 사용하여 형식을 지정합니다. 그 후 다
중위 표현은 사람이 읽고 풀 수 있습니다. 연산자의 순서를 쉽게 구분할 수 있으며 수학식을 풀 때 괄호를 사용하여 해당 부분을 먼저 풀 수 있습니다. 컴퓨터는 연산자와 괄호를 쉽게 구별하지 못하므로 후위 변환이 필요합니다. 중위 표현식을 후위 표현식으로 변환하기 위해 스택 데이터 구조를 사용합니다. 중위 표현식을 왼쪽에서 오른쪽으로 스캔하여 피연산자를 얻으면 단순히 후위 형식에 추가하고 연산자와 괄호에 대해서는 우선 순위를 유지하면서 스택에 추가합니다. 참고: 여기서는 {+, −,*,/, ^} 연산자만 고려하고 다른 연산자는 무
수학적 표현을 풀기 위해서는 접두사 또는 접미사 형식이 필요합니다. 중위를 후위로 변환한 후 정답을 찾기 위해서는 후위 평가 알고리즘이 필요합니다. 여기에서도 스택 데이터 구조를 사용하여 접미사 식을 해결해야 합니다. 접미사 식에서 일부 피연산자가 발견되면 스택에 푸시합니다. 어떤 연산자가 발견되면 스택에서 두 개의 항목이 팝되고 올바른 순서로 작업이 수행됩니다. 그 후 결과도 나중에 사용할 수 있도록 스택에 푸시됩니다. 전체 표현식이 완료되면 최종 결과도 스택 상단에 저장됩니다. 입력 및 출력 Input: Postfix exp
C(c1, c2, …Cn) 코인 목록이 있으며 V 값도 제공됩니다. 이제 문제는 최소한의 코인을 사용하여 기회를 V로 만드는 것입니다. 참고: 무한한 수의 동전 C가 있다고 가정합니다. 이 문제에서는 C{1, 2, 5, 10}가 주어진 서로 다른 동전 세트를 고려할 것입니다. 각 유형의 동전 수는 무한합니다. 요청한 값을 변경하기 위해 모든 유형의 최소 동전 수를 사용하려고 합니다. 예를 들어 값이 22인 경우 {10, 10, 2}, 3개의 동전을 최소값으로 선택합니다. 입력 및 출력 Input: The required valu
이 문제에서는 양의 정수 목록이 제공됩니다. 각 정수는 현재 요소에서 만들 수 있는 최대 단계 수를 나타냅니다. 첫 번째 요소부터 시작하여 목록의 최종 항목에 도달하기 위한 최소 점프 수를 찾아야 합니다. 동적 프로그래밍 방식의 경우 필요한 최소 점프 수를 저장하도록 점프 배열이 정의됩니다. jumps[i] 값과 마찬가지로 0번째 인덱스에서 배열의 i번째 인덱스에 도달하기 위해 필요한 최소 점프 수를 나타냅니다. 입력 및 출력 Input: A list of integers. {1, 3, 5, 8, 9, 2, 6, 7, 6, 8,