=B가 되도록 길이가 L이고 너비가 B인 직사각형이 제공됩니다. 목표는 LXB 크기의 직사각형이 수용할 수 있는 정사각형의 수를 찾는 것입니다. 위 그림은 3 X 2 크기의 직사각형을 보여줍니다. 2, 2X2 정사각형과 6,1X1 정사각형이 있습니다. 총 제곱=6+2=8. LXB 크기의 모든 직사각형에는 1X1 정사각형의 L*B 수가 있습니다. 가장 큰 사각형은 BXB 크기입니다. L=B=1인 경우 제곱 =1입니다. L=B=2의 경우 제곱 =1 + 4 =5. ( 2X2의 1, 1X1의 4) L=B=
삼각형의 둘레 P가 주어집니다. 둘레는 삼각형의 모든 변의 합입니다. 목표는 둘레가 같을 때 만들 수 있는 직각 삼각형의 수를 찾는 것입니다. 삼각형의 변이 a,b,c인 경우. 그러면 a + b + c =P 및 a2 + b2 =c2 ( a, b 및 c 의 조합에 대한 피타고라스 정리 ) 우리는 이것을 1에서 p/2로, b를 a+1에서 p/3으로 가져가서 확인할 것입니다. 그런 다음 c =p-a-b (a+b+c=p) 모든 직각삼각형에 대해 피타고라스 정리를 적용하십시오. , b 및 c의 값은 두 변의 합이 항상 3분의 1보다 큰
정수 x와 p가 주어집니다. 목표는 방정식 -x2의 해의 수를 찾는 것입니다. =1 ( mod p ) x가 [1,N] 범위에 있도록 우리는 이것을 1에서 N으로 순회하고 (x*x)%p==1이면 각 숫자를 x 검사로 사용합니다. 그렇다면 카운트를 증가시키십시오. 예를 들어 이해합시다. 입력 - n=5, p=2 출력 − 솔루션 수 − 3 설명 − 범위 1에서 5 사이. 12=1%2=1, count=1 22=4%2=0, count=1 32=9%2=1, count=2 42=16%2=0, count=2 52=25%2=1, coun
우리에게 숫자 N이 주어졌습니다. 목표는 다음 규칙에 따라 숫자를 1로 줄이는 데 필요한 단계 수를 계산하는 것입니다 - 숫자가 2의 거듭제곱이면 절반으로 줄입니다. 그렇지 않으면 N-(N보다 작은 2의 가장 가까운 거듭제곱)으로 줄입니다. 1단계에서는 ceil(log2(N)), floor(log2(N))이 동일한 결과를 반환하는지 확인하여 N이 2의 거듭제곱인지 확인합니다. 그렇다면 N=N/3, 작업 횟수를 증가시킵니다. 1단계의 결과가 거짓이면 2단계를 수행하고 N에서 N보다 작은 2의 가장 가까운 거듭제곱을
정수 n이 주어집니다. 목표는 조건을 충족하는 세 개의 숫자(3개의 숫자 집합)를 찾는 것입니다. - a2 +b2 =c2 1<=a<=b<=c<=n 1<=a<=n 및 1<=b<=n 값에 대해 두 개의 루프를 실행하여 이를 수행합니다. 그에 따라 c를 계산하고(c=sqrt(a2+b2)) 조건 1과 2가 모두 충족되면 카운트를 증가시킵니다. 예를 들어 이해합시다. 입력 - N=5 출력 − 세 쌍의 수 − 1 설명 - for a=3, b=4 and c=5 both conditions are met. 입력 - N=
정수 배열 Arr[]과 범위 [a,b]를 정의하기 위한 두 개의 변수 a와 b가 제공됩니다. 목표는 합이 이 범위 [a,b] 사이에 있는 삼중항의 수를 찾는 것입니다. =a이고 arr[i]+arr[j]+arr[k]<=b인 경우 카운트를 증가시킵니다. 여기서 0<=i<=n-2, i
Arr[] 숫자 배열이 제공됩니다. 목표는 곱이 주어진 숫자 p와 같은 삼중항의 수를 계산하는 것입니다. 값은 같지만 요소가 다른 둘 이상의 삼중항이 있을 수 있습니다. 예를 들어, 배열 [1,2,3,1,2]의 (1,2,3) 및 (3,1,2)는 요소는 다르지만 값이 동일한 경우 다른 것으로 계산됩니다. 예를 들어 이해합시다. 입력 - arr[]={ 1,2,3,2,4,1,5 }, p=4 출력 − 세 쌍둥이의 수:3 설명 - Triplet 1[ 1,2,3,2,4,1,5 ] → (1,2,2) product=4 Triple
N 요소의 배열이 제공됩니다. 목표는 i!=j와 같은 동일한 요소 값을 갖는 인덱스 쌍(i,j)을 찾는 것입니다. 즉, Arr[i]=Arr[j] 및 i!=j입니다. 이것은 같은 크기의 장갑을 만드는 데 사용됩니다. N개의 장갑 중 짝을 이룬 장갑만 판매하는 데 유용합니다. 0<=i
N 번호가 제공됩니다. 코딩 대회 참가자 수. 목표는 아니오를 찾는 것입니다. 한 사람이 최대 한 명의 다른 사람과 짝을 이룰 수 있을 때 가능한 짝의 수. 따라서 한 쌍에는 최대 2명의 참가자가 있습니다. 참가자 혼자도 참가 가능합니다. 쌍=인 경우 반복을 사용하여 이 문제를 해결할 수 있습니다. count=1일 때 n=0 또는 1(한 사람만 남음) 사람이 독신으로 남아 있으면 n이 n-1로 감소 이제 남은 페어링 인원에 대해 =n-2 count=makePairs(p-1) + (p-1)*makePairs(p-2
범위 [l,r]와 숫자 k가 주어집니다. 목표는 l과 r(l<=number<=r) 사이의 모든 숫자를 찾는 것이므로 (해당 숫자의 역수)-(숫자) 결과가 k의 곱이 되도록 합니다. l에서 r까지 시작하여 이 조건을 확인하고 각 숫자의 역순을 계산합니다. 이제 역에서 숫자를 빼고 (절대 차이) %k==0인지 확인하십시오. 그렇다면 카운트를 증가시키십시오. 예를 들어 이해합시다. 입력 - L=21, R=25, K=6 출력 − 숫자의 개수 − 2 설명 - The numbers their reverse and difference
Arr[] 숫자 배열이 제공됩니다. 목표는 곱이 가능한 모든 삼중항의 가장 작은 곱과 같은 삼중항의 수를 계산하는 것입니다. (i
N 요소의 배열이 제공됩니다. 목표는 i!=j와 같은 완전제곱합 합계를 갖는 모든 쌍(Arr[i],Arr[j])의 개수를 찾는 것입니다. 즉 Arr[i]+Arr[j]는 완전제곱수입니다. 쌍의 합을 계산하여 이 작업을 수행하고 해당 합계의 제곱근이 제곱근의 바닥 값과 같은지 확인합니다. sqrt(Arr[i]+Arr[j])-floor( sqrt(Arr[i]+Arr[j] )==0. 예를 들어 이해합시다. 입력 - Arr[]={ 4,3,2,1,2,4 } N=6 출력 − 합이 완전제곱인 쌍의 개수 − 2 설명 - Arr[1]+Arr
N 요소의 배열이 제공됩니다. 목표는 i!=j와 같은 완전제곱합 합계를 갖는 모든 쌍(Arr[i],Arr[j])의 개수를 찾는 것입니다. 즉 Arr[i]+Arr[j]는 완전제곱수입니다. 쌍의 합을 계산하여 이 작업을 수행하고 해당 합계의 제곱근이 제곱근의 바닥 값과 같은지 확인합니다. sqrt(Arr[i]+Arr[j])-floor( sqrt(Arr[i]+Arr[j] )==0. 예를 들어 이해합시다. 입력 - Arr[]={ 4,3,2,1,2,4 } N=6 출력 − 합이 완전제곱인 쌍의 개수 − 2 설명 - Arr[1]+Arr
N개 요소의 배열 arr[]이 제공됩니다. 목표는 특정 조건을 따르는 모든 유효한 쌍(Arr[i],Arr[j])의 수를 찾는 것입니다. -인 경우 Arr[i],Arr[j] 쌍이 유효하지 않습니다. Arr[i]==Arr[j] Arr[i]+Arr[j]는 짝수입니다. i+j<120 참고 - Arr[i],Arr[j] 및 Arr[j],Arr[i]는 한 쌍으로 계산됩니다. 유효한 쌍에는 i!=j가 있습니다. 예를 들어 이해합시다. 입력 Arr[]= { 3,2,1,2,4,3 } N=4 출력 Count of valid pairs: 2 설명
숫자 Arr[]의 배열이 제공됩니다. 목표는 차이가 가능한 모든 쌍의 최대 차이와 같은 쌍의 수를 계산하는 것입니다. 카운트 쌍(i!=j) 및 arr[x]- arr[y]는 최대 가능합니다. 먼저 (i!=j)에서 최대 차이를 찾아 이를 수행합니다. 그리고 maxdiff로 저장합니다. 그런 다음 difference=maxdiff가 있는 모든 쌍을 계산합니다. 예를 들어 이해합시다. 입력 - arr[]={ 1,2,3,2,4,1,5 } 출력 − 차이가 최대인 쌍을 선택하는 방법의 수 − 2 설명 - Here minimum no.
세 개의 배열 A[], B[] 및 C[]가 제공됩니다. 목표는 A[i]
4개의 정수 L, R, A, B가 주어집니다. 목표는 [L,R] 범위에서 A나 B 또는 둘 다를 완전히 나누는 숫자의 개수를 찾는 것입니다. L에서 R로 순회하고 number%A==0 또는 number%B==0인 경우 각 숫자에 대해 제수 수를 증가시켜 이를 수행합니다. 예를 들어 이해합시다. 입력 - L=10, R=15, A=4, B=3 출력 − A 또는 B의 제수 개수 − 2 설명 - Number 12 is fully divisible by 3 and 4. Number 15 is fully divisible by 3
정렬되지 않은 고유한 요소의 배열이 제공됩니다. 목표는 배열이 정렬된 후 십자선을 찾는 것입니다. 십자선은 아래와 같이 계산됩니다 - Arr[]={ 1,2,4,3,5 } 아래와 같이 3개의 십자선이 있습니다. Arr[]={ 1,2,3,4,5 }. 배열이 이미 정렬되어 있으므로 십자선이 없습니다. 오른쪽의 요소가 왼쪽의 정렬된 요소에 추가되는 삽입 정렬을 사용하여 십자선을 계산합니다. 요소가 정렬된 부분에 추가될 때마다 올바른 위치로 이동할 때 카운트가 증가합니다. 더 큰 모든 요소를 교차하여 통과합니다.
길이가 n인 정수 배열 Arr[]이 제공됩니다. 목표는 두 숫자의 합이 세 번째 숫자와 같도록 세 쌍(Arr[i],Arr[j],Arr[k])의 수를 찾는 것입니다. a+b=c, 여기서 a,b,c는 인덱스 i,j,k가 있는 Arr[]의 요소이며 0<=i
세 개의 숫자 A,B,M이 주어집니다. A와 B는 숫자의 범위 [A,B]를 정의합니다. 목표는 A와 B 사이에서 M으로 나누어 떨어지는 숫자를 세는 것입니다. i=A에서 M의 첫 번째 배수까지 시작합니다. i%M=0인 경우 카운트를 증분합니다. 이제 i<=대역 증가 카운트가 될 때까지 i를 증가시킵니다. 예를 들어 이해합시다. 입력 A=11,B=20, M=5 출력 Count of numbers divisible by M in given range: 2 설명 15와 20은 5로 나누어 떨어지고 범위 [11,20]에 있는 숫자일