주어진 숫자 배열에서 3으로 나누어 떨어지는 크기가 2와 3인 그룹의 수를 찾아야 합니다. 2와 3 조합 숫자의 합을 구하고 3으로 나눌 수 있는지 여부를 확인할 수 있습니다. 예를 들어 보겠습니다. 입력 arr = [1, 2, 3, 4] 출력 4 3으로 나눌 수 있는 4가지 조합이 있습니다. 조합은... [1, 2] [2, 4] [1, 2, 3] [2, 3, 4] 알고리즘 배열을 초기화합니다. 크기가 2인 모든 조합을 얻으려면 두 개의 루프를 작성하십시오. 각 그룹의 합계를 계산합니다. 합계가 3
배열과 인덱스 범위가 제공됩니다. 주어진 범위에서 동일한 인접 요소의 총 수를 계산해야 합니다. 예를 들어 보겠습니다. 입력 arr = [1, 2, 2, 2, 3, 3, 4] lower = 1 upper = 5 출력 3 알고리즘 배열 및 인덱스 범위를 초기화합니다. 범위의 하위 인덱스에서 범위의 상위 인덱스까지 반복하는 루프를 작성하십시오. 요소 이전 또는 다음 요소를 비교합니다. 동일하면 개수를 늘립니다. 카운트를 반환합니다. 구현 다음은 위의 알고리즘을 C++로 구현한 것입니다. #i
숫자 n이 주어지면 이진 형식으로 설정된 비트 수가 홀수인 정수의 수를 찾아야 합니다. 예를 들어 보겠습니다. 입력 n = 10 출력 5 1부터 10까지 5개의 정수가 있으며 이진 형식으로 설정된 비트 수가 홀수입니다. 알고리즘 숫자 N을 초기화합니다. 설정된 비트 수를 이진 형식으로 계산하는 함수를 작성하십시오. 개수를 0으로 초기화합니다. 1에서 반복하는 루프 작성 N.으로 각 정수의 설정 비트를 센다. 설정된 비트 수가 홀수이면 카운트를 증가시킵니다. 카운트를 반환합니다. 구
이 튜토리얼에서는 주어진 두 점 사이의 정수 점의 수를 찾는 프로그램을 작성할 것입니다. 주어진 두 점 사이의 점 수는 gcd(abs(x2), abs(y1-y2)) - 1입니다. 선 결합이 x축에 평행하면 적분점의 수는 abs(y1 - y2) - 1이 됩니다. 선 결합이 y축과 평행하면 적분점의 수는 abs(x1 - x2) - 1이 됩니다. 두 점의 x 점이 같으면 x축에 평행합니다. 두 점의 y 점이 같으면 y축에 평행합니다. 예를 들어 보겠습니다. 입력 pointOne = [1, 5] pointTwo = [1, 3]
방정식의 해는 다음과 같습니다. 방정식의 음이 아닌 적분 솔루션의 수는 $\left(\begin{array}{c}n-k+1\\ k\end{array}\right)$입니다. 방정식의 양의 적분 솔루션의 수는 $\left(\begin{array}{c}k-1\\ n-1\end{array}\right)$입니다. 필요한 답변을 얻으려면 둘 다 추가하십시오. 예를 들어 보겠습니다. 입력 n = 4 k = 7 출력 140 알고리즘 숫자 n과 k를 초기화합니다. 음수가 아닌 정수의 적분 해를 구합니다. 둘 다 추가합니다. 답을 반
문자열이 주어지면 각 문자의 오른쪽에 있는 더 큰 요소의 수를 계산해야 합니다. 예를 들어 보겠습니다. 입력 string = "abc" 출력 2 1 0 오른쪽보다 2개의 더 큰 요소가 있습니다. 오른쪽에 b보다 큰 요소가 1개 있습니다. 오른쪽에 c보다 큰 요소가 0개 있습니다. 알고리즘 문자열을 초기화합니다. 카운트를 추적하기 위해 배열을 초기화합니다. 문자열을 반복하는 두 개의 루프를 작성하십시오. 한 번에 하나의 문자를 가져와서 그 뒤의 모든 문자와 비교합니다. 현재 요
숫자가 주어지면 이진 표현에서 선행 0의 수를 찾아야 합니다. 총 비트가 32라고 가정합니다. 예를 살펴보겠습니다. 입력 5 출력 25 5의 이진 표현은 00000...00101입니다. 선행 0의 수는 29개입니다. 알고리즘 숫자 n을 초기화합니다. n의 이진 표현 찾기 총 비트 수(즉, 32)에서 n의 이진 표현 길이를 뺍니다. 결과를 반환합니다. 구현 다음은 위의 알고리즘을 C++로 구현한 것입니다. #include <bits/stdc++.h> using namespace std; int getLeadi
이 튜토리얼에서는 n-ary 트리의 모든 노드에 대한 리프 노드의 수를 찾는 프로그램을 작성할 것입니다. n-ary 트리가 주어지면 모든 하위 트리에 대한 리프 노드 수를 찾아야 합니다. 예를 들어 보겠습니다. 입력 N = 8 tree = [[2, 3], [], [4, 5, 6], [7, 8], [], [], [], []] 출력 1->5 2->1 3->4 4->2 5->1 6->1 7->1 8->1 알고리즘 원하는 트리로 n-ary 트리를 초기화합니다. DFS를 사용하여
숫자 N이 주어지면 최악의 시나리오에서 순열을 추측하는 데 필요한 움직임을 찾아야 합니다. 순열을 추측하는 데 필요한 이동 횟수는 n!입니다. 예를 들어 보겠습니다. 입력 5 출력 129 5개의 요소가 있을 때 추측하는 방법은 5가지가 있고 요소가 4개이고 1까지 연속적일 때 4가지 방법이 있습니다. 알고리즘 숫자 n을 초기화합니다. 카운트를 1로 초기화합니다. 1에서 n까지 반복하는 루프를 작성합니다. 현재 숫자와 곱합니다. 카운트를 반환합니다. 구현 다음은 위의 알고리즘을 C++로 구현한 것입니다. #inclu
스테핑 숫자는 연속된 자릿수의 차이가 1인 숫자입니다. 자릿수를 나타내는 숫자 n이 주어집니다. n자리의 스테핑 숫자의 총 수를 계산해야 합니다. 예를 들어 보겠습니다. 입력 2 출력 17 2자리의 가장 작은 수는 10이고, 가장 높은 2자리의 수는 99입니다. 그 사이에는 17개의 스테핑 숫자가 있습니다. 알고리즘 숫자 n을 초기화합니다. 카운트를 0으로 초기화합니다. pow(10, n - 1)와 같이 n자리의 가장 작은 수를 찾습니다. n자리 중 가장 높은 수를 찾습니다. 즉, pow(10, n) - 1입니다. 가장
배열과 대상 요소의 인덱스가 제공됩니다. 주어진 요소보다 오른쪽에 있는 요소의 수를 계산해야 합니다. 예를 들어 보겠습니다. 입력 arr = [2, 3, 5, 1, 4, 2, 6] index = 3 출력 3 대상 인덱스 요소는 1입니다. 오른쪽에 1보다 큰 3개의 요소, 즉... 4, 2, 6이 있습니다. 알고리즘 대상 요소의 배열과 인덱스를 초기화합니다. 인덱스가 배열의 길이보다 크거나 같으면 -1을 반환합니다. 주어진 인덱스의 다음 요소부터 반복하는 루프를 작성합니다. 요소가 대상 요소보다 크면 개수를 늘립니다.
n-ary 트리와 숫자가 주어지면 주어진 숫자보다 큰 노드의 수를 계산해야 합니다. 예를 들어 보겠습니다. 입력 tree = [[4], [1, 2], [3, 5]] n = 2 출력 3 n보다 큰 값을 가진 3개의 노드가 있습니다. 알고리즘 n-ary 트리를 초기화합니다. 카운트를 0으로 초기화합니다. 값이 n보다 큰 노드를 찾으면 카운트를 1씩 증가시킵니다. 현재 노드의 자식을 가져옵니다. 모든 자식에 대해 반복하고 동일한 함수를 재귀적으로 호출하여 노드를 계산합니다. 카운트를 반환합니다.
이 튜토리얼에서는 합 방정식의 음이 아닌 정수 해를 구하는 프로그램을 작성할 것입니다. 합 방정식은 x + y + z =n입니다. 숫자 n이 주어지면 방정식에 대한 솔루션의 수를 찾아야 합니다. 예를 들어 보겠습니다. 입력 2 출력 6 솔루션은 0 0 2 0 1 1 0 2 0 1 0 1 1 1 0 2 0 0 알고리즘 숫자 m을 초기화합니다. 카운트를 0으로 초기화합니다. 세 숫자의 모든 조합을 얻으려면 세 개의 중첩 루프를 작성하십시오. 방정식의 유효성을 확인하십시오. 현재 숫자가 방정식을 만족
충족되어야 하는 직선 방정식은 y =mx + c입니다. 배열, m, c가 주어지면 선형 방정식을 만족하는 차수 점의 수를 찾아야 합니다. 예를 들어 보겠습니다. 입력 arr = [1, 2, 3] m = 1 c = 1 출력 2 선형 방정식을 만족하는 쌍은 다음과 같습니다. 2 1 3 2 알고리즘 배열, m 및 c를 초기화합니다. 배열에서 모든 쌍을 가져오려면 두 개의 루프를 작성하십시오. 쌍이 직선 방정식을 만족하는지 확인하십시오. 선 방정식에 값을 대입하여 방정식이 만족하는지 여부를 확인할 수 있습니다. 쌍이 직선 방정식
숫자 N과 K가 주어지면 합이 K로 나누어 떨어지는 쌍의 수를 계산해야 합니다. 예를 보겠습니다. 입력 N = 3 K = 2 출력 1 합이 K로 나누어 떨어지는 쌍은 단 하나뿐입니다. 그리고 쌍은 (1, 3)입니다. 알고리즘 N과 K를 초기화합니다. N까지 자연수를 생성하여 배열에 저장합니다. 카운트를 0으로 초기화합니다. 배열에서 모든 쌍을 가져오려면 두 개의 루프를 작성하십시오. 모든 쌍의 합을 계산합니다. 쌍 합계가 K로 나누어지면 개수를 증가시킵니다. 카운트를 반환합니다. 구현 다음은 위의 알고리즘을 C+
주어진 배열에서 합이 2의 거듭제곱인 쌍의 수를 찾아야 합니다. 예를 보겠습니다. 입력 arr = [1, 2, 3] 출력 1 합이 2의 거듭제곱인 쌍이 하나만 있습니다. 그리고 쌍은 (1, 3)입니다. 알고리즘 난수로 배열을 초기화합니다. 카운트를 0으로 초기화합니다. 배열의 모든 쌍을 가져오려면 두 개의 루프를 작성하십시오. 모든 쌍의 합을 계산합니다. 비트 AND를 사용하여 합이 2의 거듭제곱인지 확인합니다. 카운트가 2의 거듭제곱이면 카운트를 증가시킵니다. 카운트를 반환합니다. 구현 다음은 위의 알고리즘을
배열이 주어지면 Bitwise OR이 홀수인 쌍의 수를 찾아야 합니다. 예를 살펴보겠습니다. 입력 arr = [1, 2] 출력 1 Bitwise OR이 홀수인 쌍은 하나만 있습니다. 그리고 쌍은 (1, 2)입니다. 알고리즘 난수로 배열을 초기화합니다. 카운트를 0으로 초기화합니다. 두 개의 루프를 작성하여 배열 쌍을 가져옵니다. 모든 쌍 사이의 비트 OR을 계산합니다. 결과가 홀수인 경우 개수를 늘립니다. 카운트를 반환합니다. 구현 다음은 위의 알고리즘을 C++로 구현한 것입니다. #include <bits
주어진 배열에서 최대 합을 갖는 쌍의 수를 찾아야 합니다. 예를 들어 보겠습니다. 입력 arr = [3, 6, 5, 2, 1, 2, 3, 4, 1, 5] 출력 2 최대 쌍의 합은 10입니다. 최대 합이 있는 쌍이 2개 있습니다. (5, 5) 및 (6, 4)입니다. 알고리즘 난수로 배열을 초기화합니다. 최대 합계를 최소로 초기화합니다. 두 개의 루프로 배열을 반복합니다. 쌍의 최대 합을 구합니다. 카운트를 0으로 초기화합니다. 이제 배열을 다시 반복합니다. 현재 쌍의 합이 최대 쌍의 합과 같으면 개수를 늘립
C ++를 사용한 적이 있다면 회문 수에 대해 들어봤을 것입니다. 따라서 이 가이드에서는 적절한 예를 사용하여 N번째 짝수 길이 회문에 대한 모든 것을 설명합니다. 팰린드롬 수(Palindrome number)는 반전 후에도 동일하게 유지되는 수입니다. 숫자뿐만 아니라 문자를 바꿔도 철자가 그대로 유지되는 단어입니다. 예를 들어 - 숫자 ={1,121,131,656,1221,1551} 단어 ={saas,malayalam,level,mom} 복잡해 보이지만 모든 시스템에서 수행하기가 매우 쉽습니다. 이제 회문에 대해 간략하게 논
두 개의 숫자와 b가 있고 b는 정수이고 b는 부동 소수점입니다. 표준 입력에서 가져와서 합계를 표시해야 합니다. 따라서 입력이 a =10 b =56.23과 같으면 출력은 Sum:66.23이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 표준 출력 장치에 출력을 표시하려면 추출 연산자(<<)를 사용할 수 있습니다. )를 사용할 수 있습니다. 예시 이해를 돕기 위해 다음 구현을 살펴보겠습니다. − #include <iostream> using namespace std; int main(){