우리에게 숫자 N이 주어졌습니다. 목표는 정육면체의 합이 N이 되도록 정렬된 양수의 쌍을 찾는 것입니다. 방정식3에 대한 솔루션을 찾아 이를 수행합니다. + b3 =N. 여기서 N의 세제곱근보다 크지 않고 b는 (N-a3의 세제곱근으로 계산할 수 있습니다. ). 예를 들어 이해합시다. 입력 N=35 출력 Count of pairs of (a,b) where a^3+b^3=N: 2 설명 Pairs will be (2,3) and (3,2). 23+33=8+27=35 입력 N=100 출력 Count of pairs
우리에게 숫자 N이 주어졌습니다. 목표는 제곱의 합이 N이 되도록 정렬된 양수의 쌍을 찾는 것입니다. 방정식2에 대한 솔루션을 찾아 이를 수행합니다. + b2 =N. 여기서 N의 제곱근보다 크지 않고 b는 (N-a2의 제곱근으로 계산할 수 있습니다. ). 예를 들어 이해합시다. 입력 N=100 출력 Count of pairs of (a,b) where a^3+b^3=N: 2 설명 Pairs will be (6,8) and (8,6). 62+82=36+64=100 입력 N=11 출력 Count of pairs o
우리는 변수 N, M, A 및 B가 주어집니다. 목표는 합이 A와 B로 나누어 떨어지도록 양수(i, j)의 순서쌍을 찾는 것입니다. 그리고 1<=i<=N and 1<=j<=M. 우리는 i와 j에 대해 두 개의 루프를 사용하여 탐색할 것입니다. 합계 (i+j)%A==0 &&(i+j)%B==0인 경우. 증분 수. 예를 들어 이해합시다. 입력 N = 5, M = 10, A = 2, B = 3; 출력 Ordered pairs (i,j) where (i+j) is divisible by both A & B: 9 설명 P
두 개의 배열 Arr1[] 및 Arr2[]와 숫자 K가 제공됩니다. 목표는 두 배열의 고유한 요소 쌍을 찾는 것이므로 합이 K가 됩니다. 쌍은 형식( Arr1[i], Arr2[j ] ) 여기서 Arr1[i]+Arr2[j]==K. 우리는 i와 j에 대해 두 개의 루프를 사용하여 탐색할 것입니다. 합(Arr1[i]+Arr2[j])==K인 경우. 그리고 그 쌍은 unordered_map에 존재하지 않습니다. 지도에 추가하고 카운트를 증가시킵니다. 예를 들어 이해합시다. 입력 Arr1[]={ 1,3,2,4,3,2 }; Arr2[]=
세 개의 숫자 X, Y 및 N이 제공됩니다(범위 [1,N]을 정의하기 위해). 목표는 X와 Y를 사용하여 구성할 수 있는 [1,N] 범위의 모든 숫자를 찾는 것입니다. 예를 들어 X=2이고 Y=3인 경우. 숫자 6은 2를 세 번( 2+2+2 ) 또는 3을 두 번( 3+3 ) 사용하여 구성할 수 있습니다. 마찬가지로 7은 2를 두 번 사용하고 3을 한 번 사용하여 구성할 수 있습니다( 2+2+3 ). 1에서 N까지 각 숫자에서 X 또는 Y를 빼서 이 작업을 수행합니다. 마지막 숫자가 0으로 줄어들면 카운트를 증가시킵니다. 예를
우리에게 숫자 N이 주어졌습니다. 목표는 정육면체의 합이 N이 되도록 정렬된 양수의 쌍을 찾는 것입니다. 순진한 접근 방식 1부터 N까지의 모든 숫자를 탐색하고 완전제곱수인지 확인합니다. 만약 floor(sqrt(i))==ceil(sqrt(i)). 그러면 그 수는 완전제곱수입니다. 효율적인 접근 N 미만의 완전제곱수는 다음 공식을 사용하여 찾을 수 있습니다. floor(sqrt(N)). 예를 들어 이해합시다. 입력 N=20 출력 Count of square numbers: 4 Count of non-square num
문자열 str[]과 패턴 문자열 pat의 배열이 제공됩니다. 목표는 끝에 패턴이 있는 str[]의 문자열 요소를 찾는 것입니다. str의 각 문자열을 탐색하고 마지막 문자를 pat와 비교합니다. 증분과 일치하는 경우 예를 들어 이해합시다. 입력 str[]={ “kittens”, “hens”, “deers”, “dogs” } pat=”ens” 출력 Strings that end with given pattern: 2
범위 변수 START 및 END가 제공됩니다. 목표는 [START,END] 범위에서 소수의 개수를 찾는 것입니다. 범위의 숫자 i가 1 이외의 숫자가 완전히 분할되고 1과 i/2 사이인지 확인하여 소수인지 확인할 것입니다. 프라임이라면. 증분 카운트. 예를 들어 이해합시다. 입력 시작=1 끝=20 출력 범위의 소수:8 설명 1과 20 사이의 소수는 2,3,5,7,11,13,17,19입니다. 입력 시작=100 끝=200 출력 범위의 소수:21 설명 100과 200 사이의 소수는 다음과 같습니다. 아래 프로그램
네 개의 배열 A[], B[], C[] 및 D[]가 제공됩니다. 목표는 A[i]+B[j]+C[k]+D[l] =x가 되도록 이러한 배열의 모든 4배 요소를 찾는 것입니다. 4개의 배열은 모두 동일한 수의 요소 N을 갖습니다. 각 배열을 한 번 탐색하고 A[i]+B[j]+C[j]+D[l]==x인지 비교하여 이를 수행합니다. true인 경우 카운트가 증가합니다. 예를 들어 이해합시다. 입력 A[]={ 1,2,3}; B[]={ 2,3,2}; C[]={ 4,3,1}; D[]={ 3,1,1 }; X=12 출력 Count of Qua
2D 원에 적용된 컷 수를 나타내는 정수 N이 제공됩니다. 각 원은 원을 두 개의 반으로 나눕니다. 목표는 N 컷 후 원의 조각을 찾는 것입니다. 조각 수=2 * 아니요. 컷 수 예를 들어 이해합시다. 입력 - N=1 출력 − 원 조각:2 설명 - 입력 - N=3 출력 − 원 조각:6 설명 - 아래 프로그램에서 사용된 접근 방식은 다음과 같습니다. 여러 컷에 대해 N을 선택합니다. 조각=1*N. 결과를 인쇄하십시오.. 예시 #include <bits/stdc++.h> using n
우리는 숫자 X입니다. 목표는 X와의 합이 X와의 XOR과 같은 0과 X 사이의 숫자를 찾는 것입니다. 우리는 아니오를 횡단하여 이것을 할 것입니다. i=0에서 i<=X까지 그리고 각 i에 대해 (i+X==i^X)이면 카운트를 증가시킵니다. 예를 들어 이해합시다. 입력 - X=6 출력 - X와의 합 ==X와의 XOR:2인 숫자의 개수 설명 − 숫자는 0과 1입니다. 입력 - X=20 출력 - X와의 합 ==X와의 XOR:8인 숫자의 개수 설명 − 숫자는 0 1 2 3 8 9 10 11입니다. 아래 프로그램에서 사용된
우리는 숫자 N입니다. 목표는 N과의 차이가 N과의 XOR과 같은 0과 N 사이의 숫자를 찾는 것입니다. 우리는 아니오를 횡단하여 이것을 할 것입니다. i=0에서 i<=N까지 그리고 각 i에 대해 (N-X==i^N)이면 카운트를 증가시킵니다. 예를 들어 이해합시다. 입력 - X=6 출력 − N과의 차이 ==N과 XOR의 차이:4 설명 − 숫자는 0 2 4 6입니다. 입력 - X=20 출력 − N과의 차이 ==N과 XOR의 차이:4 설명 − 숫자는 0 4 16 20입니다. 아래 프로그램에서 사용된 접근 방식은 다음과 같
우리는 숫자 N입니다. 목표는 N과의 OR이 N과의 XOR과 같은 0과 N 사이의 숫자를 찾는 것입니다. 우리는 아니오를 횡단하여 이것을 할 것입니다. i=0에서 i<=N까지 그리고 각 i에 대해 (N^i==i | N)이면 카운트를 증가시킵니다. 예를 들어 이해합시다. 입력 - X=6 출력 − N과의 OR ==N과의 XOR인 숫자의 개수:2 설명 − 숫자는 0 1입니다. 입력 - X=20 출력 − N과의 OR ==N과의 XOR:8인 숫자의 개수 설명 − 숫자는 0 1 2 3 8 9 10 11입니다. 아래 프로그램에서
양수 N이 주어집니다. 목표는 숫자 N을 3부분으로 나눌 수 있는 방법의 수를 세는 것입니다. 부품은 같을 수도 있고 같지 않을 수도 있습니다. N은 [1,5000] 범위에 있습니다. 숫자의 3개 부분에 대해 3개의 for 루프를 사용하여 이를 수행합니다. 가장 안쪽 루프에서 세 개의 합이 N인지 확인합니다. 참이면 방법의 개수를 늘립니다. 예를 들어 이해합시다. 입력 - N=5 출력 − N을 세 부분으로 나누는 방법의 수:2 설명 − 5는 (1,1,3)과 (1,2,2)의 합으로 표시될 수 있습니다. 입력 - N=9 출
크기가 N인 양의 정수 배열 Arr[]이 제공됩니다. 목표는 배열의 모든 요소의 곱에 존재하는 후행 0의 수를 계산하는 것입니다. 우리는 각 숫자의 요인을 계산하여 이를 수행할 것입니다. 우리는 2와 5를 각 숫자의 인수로 계산할 것입니다. 2와 5의 곱은 10이므로 1 뒤에 오는 0이 나옵니다. 결국에는 더 작은 개수가 제품의 뒤에 오는 0의 개수를 제공합니다. 4개의 2와 6개의 5가 있는 경우 제품에는 4개의 후행 0이 있습니다. 2*2*2*2*5*5*5*5*5*5=250000 예를 들어 이해합시다. 입력 Arr[] =
크기가 N인 양의 정수 배열 Arr[]이 제공됩니다. 목표는 해당 배열에서 패리티 소수의 합으로 나타낼 수 있는 요소의 수를 계산하는 것입니다. 즉, 동일한 소수의 합으로 표시될 수 있습니다. 숫자. 전; 4=2+2, 6=3+3 또는 2+2+2 두 개의 홀수 또는 짝수 소수의 합은 항상 짝수입니다. 그리고 0과 2를 제외하고 모든 짝수는 같은 소수의 합으로 나타낼 수 있습니다. 예를 들어 이해합시다. 입력 Arr[] = { 2, 5, 10, 15, 20, 25 } 출력 Number which satisfy conditio
양의 정수 N이 주어집니다. 목표는 이진 표현에서 모두 1을 갖는 N보다 작거나 같은 숫자를 계산하는 것입니다. 예를 들어 1은 1, 3은 11, 7은 111, 15는 1111... 숫자를 보면 모두 2i-1입니다. 내가 시작하는 곳 1. n보다 작은 숫자를 확인하려면. 2i-1<=n인지 비교할 것입니다. 그런 다음 카운트를 증가시킵니다. 예를 들어 이해합시다. 입력 - N=15 출력 − 2진수에서 모두 1인 수 :4 설명 − 동일한 소수의 합인 숫자 − 숫자는 1 3 7 15가 됩니다. 입력 - N=50 출력 − 2진
2차원 공간에서 N개의 점을 입력받습니다. 목표는 한 점이 다른 두 점 사이의 선에서 중간 점이 되도록 입력에서 점의 세 쌍의 수를 찾는 것입니다. 즉, 삼중항이 (A,B,C)이면 B는 A와 C의 중간점입니다(또는 A,B,C의 다른 조합). 모든 점을 쌍으로 벡터에 삽입하여 이를 수행합니다. 그런 다음 이 벡터의 모든 쌍을 집합에 추가합니다. 집합에서 두 점을 취하여 (x,y) 좌표의 합을 2로 나눈 값이 같은 집합에 있는지 확인합니다. 그렇다면 트리플렛 카운트를 증가시키십시오. 예를 들어 이해합시다. 입력 { 1,2 },
계단의 총 계단 수는 n입니다. 사람은 한 번에 1, 2 또는 3단계를 건너뛰어 다음 층에 도달할 수 있습니다. 목표는 그렇게 함으로써 다음 층에 도달할 수 있는 방법의 수를 찾는 것입니다. i번째 단계에 도달하려면 i-1번째 단계( 1단계 건너뛰기), i-2번째 단계(2단계 건너뛰기) 또는 i-3번째 단계( 3단계 건너뛰기 ). 예를 들어 이해합시다. 입력 N=3 steps 출력 Count of ways to reach the nth stair using step 1, 2 or 3 are: 4 설명 There are
반복되는 숫자가 많이 포함된 숫자가 문자열로 주어집니다. 목표는 그것을 철자하는 방법의 수를 찾는 것입니다. 예를 들어 112233은 이중 하나, 이중 둘 이중 3 또는 하나 하나 둘 둘 셋 셋으로 철자를 지정할 수 있습니다. 연속 숫자를 확인하여 이를 수행합니다. 숫자가 13인 경우 one three(20)로 철자하는 방법은 한 가지뿐입니다. 숫자가 113인 경우 두 배 하나 셋, 하나 하나 셋(21). 그래서 접근 방식은 문자열에서 연속된 하나의 숫자를 세고 이전 결과에 2(count-1)를 곱하는 것입니다. 예를 들어 이해