이 문제에서 3개의 변수 n, s, k가 주어지고 연속된 값 사이의 절대 차이를 갖는 숫자 n과 길이 s로 시작하는 모든 가능한 시퀀스를 인쇄해야 합니다. k보다 작은 요소 주제를 더 잘 이해하기 위해 예를 들어 보겠습니다 - Input: n = 3, s = 3 , k = 2 Output: 3 3 3 3 3 4 3 3 2 3 4 4 3 4 5 3 4 3 3 2 2 3 2 3 3 2 1 이 문제에서는 k보다 작은 절대차를 구해야 합니다. 이를 위해 양의 차이를 얻으려면 더 크고 음의 차이를 얻으려면 더 작은 요소를 포함하는 시퀀스
이 문제에서는 두 개의 정수 값 k 및 n이 제공됩니다. 그리고 우리는 1에서 n까지의 숫자에서 길이가 k인 모든 시퀀스를 정렬된 순서로 인쇄해야 합니다. 주제를 이해하기 위해 예를 들어 보겠습니다 - Input:k = 2 ; n = 3 Output: 1 1 1 2 1 3 2 1 2 2 2 3 3 1 3 2 3 3 따라서 이 문제에서는 위에서 설명한 순서대로 인쇄해야 합니다. 이 문제를 해결하는 간단한 방법은 시퀀스의 정수를 최대값, 즉 n에 도달할 때까지 증가시키는 것입니다. 다음은 솔루션에 대한 자세한 설명입니다. 알고리즘
이 문제에서는 정수 N이 주어지고 N보다 작거나 같은 모든 반소수를 출력해야 합니다. 이 문제를 풀기 전에 반소수(semi-prime number)가 무엇인지 이해합시다. 반소수 값이 서로 다른 두 소수의 곱인 숫자입니다. 예를 들어 보겠습니다. 21 =3*7은 반소수입니다. 25 =5*5는 반소수가 아닙니다. 이제 n보다 작거나 같은 반소수의 예를 들어보겠습니다. Input: N = 15 Output: 6 10 14 15 이 문제를 해결하려면 N보다 작은 각 숫자를 가져와서 정확히 두 개의 고유한 소인수가 있는지 확인
이 문제에서 정수 N이 주어지고 모든 safeprime 숫자를 출력해야 합니다. 값이 N보다 작은 경우. 안전한 소수 는 [(2*p)- 1]으로 표현될 수 있는 소수입니다. 여기서 p도 소수입니다. 예 - 5[(2*2) +1] , 7[(2*3)+1]. 문제를 더 잘 이해하기 위해 몇 가지 예를 들어보겠습니다. − Input: N = 12 Output: 5 7 11. 이 문제를 해결하기 위해 우리는 N보다 작은 모든 소수를 찾을 것입니다(이를 위해 우리는 에라토스테네스의 체를 사용할 것입니다). 그리고 소수가 안전한 소수인지
이 문제에서는 이진 트리가 제공됩니다. 그리고 루트에서 트리의 리프까지의 모든 경로를 인쇄해야 합니다. 또한 밑줄 _을 추가하여 노드의 상대적 위치를 표시합니다. 주제를 더 잘 이해하기 위해 예를 들어 보겠습니다 - 입력 - 출력 - _ _ 3 _ 9 1 _3 9 _7 3 _ 4 _ _ 2 3 9 4 1 7 6 2 3 _ 4 6 이 문제를 해결하기 위해 트리 요소의 수직 순서 개념을 사용합니다. 이를 기반으로 루트에서 리프까지의 경로를 인쇄합니다. 알고리즘 Step 1: Traverse the binary tre
이 문제에서 정수 N이 주어지고 모든 prothprime 숫자를 출력해야 합니다. N보다 작거나 같음. 프로스 프라임 번호 proth 소수는 값이 n =k*로 표시될 수 있는 양의 정수입니다. 2n + 1. 여기서 k는 홀수 양의 정수이고 n은 양의 정수이며 둘 다 2n ㅁ. 예 − 3, 5, 13….. 주제를 더 잘 이해하기 위해 예를 들어 보겠습니다 - Input: N = 23 Output: 3, 5, 13, 17. 이를 위해 우리는 N보다 작은 모든 소수를 찾을 것입니다(이를 위해 우리는 에라토스테네스의 체를 사용할 것
이 문제에서 양의 정수 N이 주어지고 n보다 작거나 같은 모든 소수 사중항을 출력해야 합니다. 프라임 쿼드러플렛 {p, p+2로 계산된 4개의 소수의 집합입니다. ,p+6 , p+8 }. 예 - 5 7 11 13. 문제를 이해하기 위해 예를 들어 보겠습니다 - Input: N = 15 Output: 5 7 11 13. 이 문제를 해결하기 위해 간단한 접근 방식은 소수 p의 모든 사중항을 생성하고 모든 p, p+2인지 확인하는 것입니다. , p+6 , p+8 소수입니다. 이 솔루션은 쉽지만 컴파일러에게는 더 복잡합니다. 또 다
이 문제에서는 숫자 N이 주어지고 N보다 작거나 같은 모든 소수를 출력해야 합니다. 주제를 더 잘 이해하기 위해 예를 들어 보겠습니다 - Input: 10 Output: 2 3 5 7 소수 는 1과 숫자 자체로만 나눌 수 있는 숫자입니다. 예:2, 3. 간단한 접근 방식은 2에서 N까지 반복하고 숫자를 N으로 나누는 것입니다. 숫자가 나누어지지 않으면 소수입니다. 번호를 인쇄하십시오. 숫자가 N이 될 때까지 이 작업을 수행합니다. 이 방법은 그다지 효율적이지 않습니다. 보다 효과적인 접근 방식은 2에서 √N까지 반복하여 소수
이 문제에서 우리는 숫자 N이 주어지고, 우리는 그 숫자를 나누는 모든 고유한 소인수와 그 거듭제곱을 찾아야 합니다. 주제를 이해하기 위해 예를 들어 보겠습니다 - Input: 55 Output: 5 power 1 11 power 1 설명 - 55는 5와 11로 나누어집니다. 이 문제를 풀기 위한 쉬운 방법은 N의 소인수를 구하는 것입니다. 그런 다음 숫자 N을 나누는 소수의 거듭제곱을 구하여 인쇄하십시오. 알고리즘 효율적인 접근 방식 Step 1: Find an array s[N+1]. s[i] = prime fact
이 문제에서는 숫자가 주어지며 구식 모바일 키보드에서 해당 단어를 눌러 형성할 수 있는 모든 단어를 인쇄해야 합니다. 우리는 오늘날 우리가 사용하는 QWERTY 키보드 스타일에 매우 익숙합니다. 그러나 QWERTY 키패드 전화기가 발명되기 전에는 12개의 버튼이 있는 키패드가 장착되었으며 각 버튼에는 단어와 숫자가 모두 포함되어 있습니다. 키패드의 단어 6에는 키를 한 번, 두 번 또는 세 번 클릭하면 입력되는 MNO라는 단어가 포함됩니다. 키패드는 이렇게 생겼습니다 - 1 2 알파벳 3 방어력 4 기아 5
이 문제에서 양의 정수 N이 주어지고 합계가 N인 가능한 모든 연속 숫자의 시퀀스를 인쇄해야 합니다. 문제를 이해하기 위해 예를 들어보겠습니다. Input: N = 15 Output: 1 2 3 4 5 7 8 이 문제에 대한 간단한 솔루션은 N/2까지 연속 시퀀스 조합을 추가하는 것입니다. 그런 다음 합이 N이 되는 시퀀스를 인쇄합니다. 예시 #include<iostream> using namespace std; void printConsequtiveSum(int N){ int start = 1
이 문제에서 문자열이 주어지고 문자열의 문자 사이에 공백을 넣어 이 문자열을 사용하여 만들 수 있는 모든 문자열을 인쇄해야 합니다. 주제를 더 잘 이해하기 위해 예를 들어 보겠습니다 - Input: string = ‘XYZ’ Output: XYZ, XY Z, X YZ, X Y Z 이 문제를 해결하려면 문자열에 공백을 넣을 수 있는 모든 가능한 방법을 찾아야 합니다. 이를 위해 우리는 재귀를 사용할 것입니다. 여기에서 공백을 하나씩 배치하고 새 문자열을 생성합니다. 예시 #include <iostream
이 문제에서 문자 집합과 양의 정수 k가 주어지고 집합의 문자를 사용하여 생성할 수 있는 길이 k의 가능한 모든 문자열을 인쇄해야 합니다. 문제를 더 잘 이해하기 위해 예를 들어 보겠습니다 - Input: set = {‘x’, ‘y’, ‘z’} , k = 2 Output: xy, xz, yz 이 문제를 해결하려면 생성할 수 있는 모든 가능한 시퀀스를 찾아야 합니다. 크기가 n인 집합의 경우 가능한 길이가 k인 문자열의 총 수는 nk입니다. (n^k). 재귀 호출을
이 문제에서 mXn 2D 행렬이 주어지고 행렬의 왼쪽 상단에서 오른쪽 하단까지 가능한 모든 경로를 인쇄해야 합니다. 탐색의 경우 행렬에서 오른쪽과 아래쪽으로만 이동할 수 있습니다. 주제를 더 잘 이해하기 위해 예를 들어 보겠습니다 - Input: 1 3 5 2 8 9 Output: 1 -> 3 -> 5 -> 9 1 -> 3 -> 8 -> 9 1 -> 2 -> 8 -> 9 이 문제를 해결하기 위해 우리는 한 셀에서 다른 셀로 이동하고 아래로 내려가는 경로를 인쇄합니다. 행렬의 각 셀
이 문제에서는 0에서 9까지의 정수 문자열과 목표 값이 제공됩니다. target과 같은 값으로 평가되는 +, -, * 연산을 사용하여 표현식을 생성할 수 있는 방법을 출력해야 합니다. 주제를 더 잘 이해하기 위해 예를 들어 보겠습니다 - Input: string = “123” , target= 6 Output: { “1+2+3”, “1*2*3” } 이 문제를 해결하기 위해 가능한 모든 이항 연산자를 숫자 사이에 놓고 표현식의 결과를 대상 값으로 확인하여 표현식을 만
이 문제에서는 크기가 n인 배열과 양의 정수 r이 제공됩니다. 우리의 임무는 sizer 배열 요소의 가능한 모든 조합을 인쇄하는 것입니다. 문제를 이해하기 위해 예를 들어 보겠습니다 - Input: {5,6,7,8} ; r = 3 Output : {5,6,7}, {5,6,8}, {5,7,8}, {6,7,8} 이 문제를 해결하기 위한 접근 방식은 요소를 수정한 다음 모든 조합을 찾기 위해 다른 요소를 반복하거나 반복하는 것입니다. 여기서 먼저 n-r+1을 수정해야 합니다. 요소만 반복하거나 나머지 요소에 대해 반복합니다. 예시 #
균형 잡힌 문자열은 동일한 양의 왼쪽 및 오른쪽 문자가 있는 문자열이라는 것을 알고 있습니다. 균형 잡힌 문자열이 최대 균형 문자열로 분할된다고 가정합니다. 분할된 균형 문자열의 최대량을 반환해야 합니다. 따라서 스트링이 RLRRLLRLRL이면 4개의 균형 스트링이 있으므로 출력은 4가 됩니다. RL, RRLL, RL 및 RL 각 부분 문자열에는 동일한 양의 L 및 R이 있습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 초기화 cnt :=0 및 ans :=0 for i :=0에서 문자열 크기까지 cnt :=0 for
(x, y) 좌표로 구성된 데이터 포인트 목록이 있다고 가정하고 데이터 포인트가 직선을 형성하는지 여부를 확인해야 합니다. 따라서 점이 [(1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7)]과 같으면 직선을 형성하고 있습니다. . 이를 해결하기 위해 각 연속 데이터 포인트 간의 차이를 가져와 기울기를 찾습니다. 먼저 기울기를 찾으십시오. 다른 모든 점에 대해 기울기가 동일한지 여부를 확인합니다. 동일하면 단순히 true를 반환하고 그렇지 않으면 false를 반환합니다. 예시 더 나은 이해를 위해
두 개의 매개변수(x, y)를 취하는 함수 f가 있다고 가정합니다. f(x, y) =z인 x와 y의 모든 쌍을 반환해야 합니다. z는 입력으로 주어지고 x, y는 양의 정수입니다. 기능은 지속적으로 기능을 증가시키고 있습니다. 따라서 f(x, y)
행렬의 차원인 n과 m이 있다고 가정합니다. 이들은 0으로 초기화됩니다. 그리고 지수는 index[i] =[ri, ci]일 때 주어집니다. [ri, ci]의 각 쌍에 대해 ri 행과 ci 열의 모든 셀을 1씩 증가시켜야 합니다. 출력은 모든 인덱스에 증가를 적용한 후 행렬에서 홀수 값을 가진 셀의 수입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 홀수 :=0, x :=행렬의 행 개수 초기화 매트릭스 매트 만들기 0~x 범위의 i에 대해 r =입력[i, 0], c =입력[i, 1], 0 ~ m – 1 범위의 j에 대해