우리는 정수 범위, 제수로 사용되는 변수 m 및 숫자 d가 짝수 위치에 있는지 확인하는 데 사용되는 변수 d가 제공되며 작업은 해당 숫자의 개수를 계산하는 것입니다. 변수 m으로 나눌 수 있고 짝수 위치에 숫자 d가 있는 범위. 예 입력 - int 시작 =20, 끝 =50, d =8 및 m =4 출력 - m으로 나누어지고 짝수 위치에 숫자 d가 있는 범위의 숫자 개수는 다음과 같습니다. 2 설명 - 범위는 20에서 50까지입니다. 따라서 숫자가 8인 가능한 숫자는 28, 38 및 48이며 짝수 위치, 즉 2에서 8이 있고 숫자
변수에서 시작하여 변수 끝까지, 변수 k와 d까지 정수 범위가 주어집니다. 작업은 d가 정확히 k번 발생하도록 범위에서 자릿수 d의 개수를 계산하는 것입니다. 예 입력 - int 시작 =10, int 끝 =100, d =4 및 K =2 출력 - 숫자 d가 정확히 K번 발생하는 범위의 숫자 개수:1 설명 - 범위는 10에서 100까지입니다. 따라서 숫자 d, 즉 4가 있는 가능한 숫자는 정확히 k 발생합니다. 즉 2번은 44이므로 개수는 1입니다. 입력 - int 시작 =10, 끝 =100, d =6 및 m =1 출력 -
1과 0의 조합을 포함하는 str_1과 str_2라는 두 개의 이진 문자열이 주어지고 작업은 먼저 문자열 str_1에서 가능한 다른 순열의 SET이라고 가정해 봅시다. 이진 문자열 str_2로 집합의 요소를 찾은 다음 XOR이 0을 반환하는지 여부를 확인합니다. 그렇다면 그 경우를 고려하고 무시하십시오. 예를 들어 이해합시다. 예를 들어 입력 - 문자열 str_1 =1111, 문자열 str_2 =1111 출력 - 다른 이진 문자열이 0인 XOR이 있는 순환 순열의 수는 다음과 같습니다. 4 설명 - 문자열 str_2를 사
우리는 정수로 주어진다. N은 제수로 간주되며 1 - N부터 시작하는 숫자로 나누어지며 작업은 설정된 비트 수가 더 많은 제수의 수를 계산하는 것입니다. 주어진 숫자 N으로 나눈 몫. 예 입력 - 정수 N =6 출력 - N을 나눌 때 몫보다 더 많은 세트 비트를 갖는 제수의 수는 다음과 같습니다. 5 설명 - 먼저 숫자 N을 1 - N부터 시작하는 숫자로 나누고 제수의 세트 비트와 몫을 계산합니다. 즉 N =6 /1(1) =6(2) =1 <2 =고려하지 않음 N =6 /2(1) =3(2) =2 =2 =고려됨 1 =고려됨
3개의 변수 크기, max_val, last_element가 입력으로 주어집니다. 목표는 크기 요소를 갖고 1과 max_val 사이의 요소를 가지며 첫 번째 요소는 항상 1이고 마지막 요소는 항상 max_val이 되도록 구성할 수 있는 다양한 배열의 수를 찾는 것입니다. 또한 두 개의 연속 요소가 동일하지 않은지 확인하십시오. 예를 들어 이해합시다. 예를 들어 입력 - 크기 =5, max_val =3, last_element =3 출력 - 값이 다른 연속 요소가 있는 배열의 개수는 다음과 같습니다. 5 설명 - 배열은 다음
무한한 수준을 가질 수 있는 트리, 노드가 가질 수 있는 자식의 수를 저장할 변수 자식, 경로와 관련된 가중치를 저장할 변수 가중치 및 경로와 작업을 저장할 변수 경로가 주어집니다. 가중치가 X와 같고 주어진 가중치를 가진 최소한 하나의 간선이 있어야 하는 경로의 수를 계산합니다. 예 입력 - int 자식 =4, 가중치 =4, 경로 =4; 출력 - 가중치가 정확히 X이고 가중치 M의 모서리가 하나 이상 있는 경로 수는 다음과 같습니다. 1 설명 - 4개의 경로와 연결된 4개의 자식이 있고 경로와 관련된 가중치가 4인 노드가
다음 문제는 일간 신문 십자말 풀이의 예입니다. 여기에 2차원 문자 배열이 제공되며 문제는 2차원 문자 배열 미로에서 주어진 단어를 찾는 것입니다. 검색 알고리즘에는 다음에서 개별 문자를 찾는 것이 포함됩니다. 위에서 아래로 ,오른쪽에서 왼쪽 대각선이 아닌 반대의 경우도 마찬가지입니다. 예를 들어 이해하자 입력- 문자열 단어-LAYS 2D 문자열[ ] - { LOAPYS, KAYSOT, LAYSST, MLVAYS, LAYSAA, LAOYLS }; 출력- 2D 문자 배열에서 주어진 문자열의 개수:7 설명 - 단어의 문자열 배
정수 요소를 포함하는 배열 arr[]이 제공됩니다. 목표는 arr[] 내부의 산술 진행 하위 시퀀스의 수를 계산하는 것입니다. arr[] 안의 요소 범위는 [1,1000000]입니다. 빈 시퀀스 또는 단일 요소도 계산됩니다. 예를 들어 이해합시다. 예를 들어 입력 - arr[] ={1,2,3} 출력 - 배열의 AP(산술 진행) 하위 시퀀스 수:8 설명 - 다음 하위 시퀀스는 AP를 형성합니다:- {}, {1}, {2}, {3}, {1,2}, {2,3}, {1,3}, {1,2,3} 입력 - arr[] ={2,4,5,8
이 튜토리얼에서는 다음 문제를 해결할 것입니다. 문자와 b만 포함하는 문자열이 주어지면 우리의 임무는 ab 하위 문자열을 삭제하는 것입니다. 문자열에서. 그리고 나머지 문자열을 출력합니다. 여기서 아이디어는 문제를 해결하는 매우 간단합니다. a와 b만 있는 모든 문자열은 끝에 a 또는 b로 축소됩니다. 문제를 해결하는 단계를 살펴보겠습니다. 문자열을 초기화합니다. 및 b에 대한 두 개의 카운터 변수를 초기화합니다. 주어진 문자열을 반복합니다. a와 b를 센다 및 b 주파수에서 최대값을 찾으십시오.
이 튜토리얼에서는 방정식(ab )%m 여기서 는 매우 큰 숫자입니다. 방정식(ab )%m=(a%m)*(a%m)...b_times. %m의 값을 찾은 다음 b번 곱하면 문제를 해결할 수 있습니다. 문제를 해결하는 단계를 살펴보겠습니다. 숫자 a, b, m을 초기화합니다. a%m을 찾는 함수를 작성하세요. 숫자를 0으로 초기화합니다. 문자열 형식의 숫자를 반복합니다. 숫자에 마지막 숫자를 추가하세요. 숫자 모듈로 숫자를 업데이트합니다. %m의 값을 가져옵니다. b번 반복하는 루프
이 튜토리얼에서는 아래의 문제를 풀 것입니다. 정수 배열이 주어지면 두 개의 숫자 A와 B를 찾아야 합니다. 배열의 나머지 숫자는 모두 A와 B의 제수입니다. 숫자가 A와 B의 제수이면 배열에 두 번 나타납니다. 문제를 해결하는 단계를 살펴보겠습니다. 배열의 최대 숫자는 A와 B의 숫자 중 하나입니다. A라고 합시다. 이제 B는 두 번째로 큰 숫자 또는 A의 약수가 아닌 숫자가 됩니다. 예시 코드를 봅시다. #include <bits/stdc++.h> using namespace std; void f
이 튜토리얼에서는 방정식 2^(2^A) % B를 평가하는 프로그램을 작성할 것입니다. 재귀 함수를 사용하여 방정식의 값을 찾을 것입니다. 문제를 해결하는 단계를 살펴보겠습니다. 2개의 인수 A와 B를 취하는 재귀 함수를 작성하십시오. A가 1이면 4 % B를 2^(2^1) % B =4 % B로 반환합니다. 그렇지 않으면 A-1 및 b를 사용하여 함수를 재귀적으로 호출합니다. 결과^2%B를 반환합니다. 솔루션 인쇄 예 코드를 봅시다. #include <bits/stdc++.h> usin
이 튜토리얼에서는 다음 문제를 해결할 것입니다. 정수 n이 주어지면 (1n +2n +3n +4n )%5 숫자(1n +2n +3n +4n ) n이 크면 매우 클 것입니다. 긴 정수에도 맞지 않습니다. 따라서 대체 솔루션을 찾아야 합니다. 숫자 1, 2, 3, 4, 5, 6, 7, 8, 9에 대한 방정식을 풀면 각각 10, 30, 100, 354, 1300, 4890, 18700, 72354, 282340 값을 얻게 됩니다. 방정식의 결과를 주의 깊게 관찰하십시오. 방정식 결과의 마지막 숫자가 4번째 숫자마다 반복된다는 것을 알
이 튜토리얼에서는 다음 문제를 해결할 것입니다. 주어진 배열에서 인덱스와 같은 숫자를 찾으십시오. 간단한 문제입니다. 주어진 배열을 반복하고 배열 요소와 동일한 인덱스를 반환합니다. 예시 코드를 봅시다. #include <bits/stdc++.h> using namespace std; int linearSearch(int arr[], int n) { for(int i = 0; i < n; i++) { if(arr[i] == i) { &nb
이 튜토리얼에서는 주어진 배열에서 최대 요소로 나누어진 숫자를 찾을 것입니다. 문제를 해결하는 단계를 살펴보겠습니다. 배열과 변수를 초기화하여 결과를 저장합니다. 배열을 반복합니다. 카운터 변수를 초기화합니다. 배열을 다시 반복합니다. 현재 요소가 배열 요소로 나눌 수 있는 경우 카운터를 증가시킵니다. 현재 개수가 최대인 경우 결과를 업데이트합니다. 결과를 인쇄하십시오. 예시 코드를 봅시다. #include <bits/stdc++.h> using namespace std
이 튜토리얼에서는 숫자를 포함하는 일부가 주어진 숫자 N과 같은 숫자를 찾을 것입니다. 아이디어는 간단합니다. 주어진 숫자의 왼쪽과 오른쪽 100개의 숫자를 확인하겠습니다. N ≤ 1000000000으로 경계를 나타내지 않으며 합계는 100을 초과하지 않습니다. 문제를 해결하는 단계를 살펴보겠습니다. 번호를 초기화합니다. 100번 반복하는 루프를 작성하십시오. n - i 및 n + i 값을 가져옵니다. 숫자의 합을 찾아 더하세요. N과 같은 사람이 있으면 인쇄하십시오. 예시 코드를 봅시다. #
이 튜토리얼에서는 이진 탐색 트리에서 주어진 숫자와 합이 같은 쌍을 찾는 프로그램을 작성할 것입니다. 우리는 쌍을 찾기 위해 두 개의 다른 목록에 나무의 값과 값을 저장할 것입니다. 문제를 해결하는 단계를 살펴보겠습니다. 이진 트리에 대한 구조체 노드를 만듭니다. 이진 검색 트리에 새 노드를 삽입하는 함수를 작성하십시오. 이진 검색 트리에서 루트보다 작은 모든 요소는 더 작고 오른쪽이 더 큽니다. 두 개의 빈 목록을 초기화하여 트리의 왼쪽 및 오른쪽 노드를 저장합니다. 왼쪽 또는 오른쪽 노드가 NUL
이 튜토리얼에서는 파티션 지점에 대한 모든 왼쪽 요소가 작고 파티션 지점 오른쪽의 모든 요소가 큰 배열에서 파티션 지점을 찾을 것입니다. 문제를 해결하는 단계를 살펴보겠습니다. 배열을 초기화합니다. 배열을 반복합니다. 0부터 I까지 반복하여 각 값이 현재 값보다 작은지 확인합니다. I에서 n까지 반복하고 각 값이 현재 값보다 큰지 여부를 확인합니다. 봇이 조건을 만족하면 값을 반환합니다. 파티션 지점을 인쇄합니다. 예시 코드를 봅시다. #include <bits/stdc++.h>
이 튜토리얼에서는 2D 배열에서 피크 요소를 찾는 프로그램을 작성할 것입니다. 요소 주변의 모든 요소가 요소보다 작은 경우 요소를 피크 요소라고 합니다. 문제를 해결하는 단계를 살펴보겠습니다. 더미 데이터로 2D 배열을 초기화합니다. 2D 배열을 반복합니다. 먼저 2D 배열의 모서리 요소를 확인합니다. 다음으로 2D 배열의 첫 번째 행과 마지막 행에 대한 조건을 작성합니다. 이제 2D 배열의 첫 번째 열과 마지막 열을 확인하십시오. 마지막으로 중간 요소를 확인합니다. 각각의 경우에 현재 요소
이 튜토리얼에서는 주어진 연결 리스트에서 피크 요소를 찾는 프로그램을 작성할 것입니다. 피크 요소는 주변 요소보다 큰 요소입니다. 문제를 해결하는 단계를 살펴보겠습니다. 연결 목록에 대한 구조체 노드를 만듭니다. 더미 데이터로 연결 리스트를 생성합니다. 연결 목록이 비어 있는지 또는 길이가 1인지와 같은 기본 사례를 확인합니다. 첫 번째 요소를 이전이라는 변수에 저장합니다. 연결 목록을 반복합니다. 현재 요소가 이전 요소 및 다음 요소보다 큰지 확인합니다. 위의 조건이 충족되면 반환합니다.