A라고 하는 n개의 요소 배열이 있다고 가정합니다. 해당 배열의 두 요소 사이의 최소 차이를 찾아야 합니다. A =[30, 5, 20, 9]라고 가정하면 결과는 4가 됩니다. 이것은 요소 5와 9의 최소 거리입니다. 이 문제를 해결하려면 다음 단계를 따라야 합니다. 내림차순으로 배열 정렬 차이를 무한으로 초기화 정렬된 배열의 모든 인접 쌍을 비교하고 최소 쌍을 추적합니다. 예시 #include<iostream> #include<algorithm> using namespace std; in
4개의 정수 a, b, c 및 k가 있다고 가정합니다. 다음 방정식이 −를 만족하도록 최소 양수 값 x를 찾아야 합니다. 𝑎𝑥2+𝑏𝑥+𝑐 ≥𝑘 a =3, b =4, c =5 및 k =6이면 출력은 1이 됩니다. 이를 해결하기 위해 우리는 이분법을 사용할 것입니다. x는 최소 양의 정수여야 하므로 하한은 0입니다. 예시 #include<iostream> using namespace std; int getMinX(int a, int b, int c, int k) { int x = I
세 개의 값, b, x가 있다고 가정합니다. b에 가장 가까운 x의 배수를 찾아야 합니다. . 숫자가 x =4, a =3, b =3이라고 가정하면 출력은 28이 됩니다. 이는 33에 가장 가깝기 때문입니다. =27 접근 방식은 간단합니다. 우리는 다음 조건을 따라야 합니다 - b <0이고 a =1이면 ab는 1이 되므로 x의 가장 가까운 배수는 0 또는 x가 됩니다. b 1이면 ab는 1보다 작으므로 x의 가장 가까운 배수는 0이 됩니다. 0이면 ab를 찾습니다. 그런 다음 mul =ab / x의 정수라고 하면
이 자습서에서는 2D 모양을 인쇄하는 프로그램에 대해 설명합니다. 이를 위해 반경, 측면 길이 및 측면 너비 등과 같은 모양을 만드는 데 필요한 다양한 매개변수가 제공됩니다. 그리고 우리의 임무는 두께 없이 그에 따라 모양을 인쇄하는 것입니다. 예시 #include <bits/stdc++.h> using namespace std; void print_circle(int radius){ for (int i = 0; i <= 2 * radius; i++){
두 개의 정수 N과 D가 있다고 가정합니다. N 정수 집합을 찾아야 합니다. 여기서 합과 곱의 차이는 D와 같습니다. N =3이라고 가정하고, D =5이면 출력은 1, 2, 8이 됩니다. 여기서 합은 1 + 2 + 8 =11이고 곱은 1 * 2 * 8 =16이고 16과 11의 차이는 5입니다. 우리는 이 문제를 해결해야 합니다. 우리는 한 가지 까다로운 방법을 사용할 것입니다. 여기서 우리는 N–2개의 1, 1, 2, 나머지 1개의 N + D를 찾으려고 노력할 것입니다. 따라서 합, 곱 및 차이는 -가 됩니다. 합계 =(N –
여기서는 Stern의 이원자 급수에서 n번째 항을 찾는 방법을 살펴보겠습니다. 계열은 0, 1, 1, 2, 1, 3, 2, 3, 1, 4, 3, 5, 2, 5, 3, 4, … 이 계열은 다음과 같이 정의할 수 있습니다. - 𝑝(𝑛)=$p\lgroup\frac{n}{2}\rgroup$ 𝑤ℎ𝑒𝑛 𝑛 𝑖𝑠 𝑒𝑣𝑒𝑛 𝑝(𝑛)=$p\lgroup\frac{n-1}{2}\rgroup+p\lgroup\frac{n+1}{2}\rgroup$ 𝑤ℎ𝑒𝑛 𝑛 𝑖𝑠 𝑜𝑑𝑑 𝑝(0)=0 𝑎𝑛𝑑 𝑝(1)=
이 튜토리얼에서는 주어진 숫자 패턴을 출력하는 프로그램에 대해 논의할 것입니다. 우리의 임무는 코드에서 반복 구조를 사용하고 주어진 패턴을 인쇄하는 것입니다 - 1 232 34543 4567654 567898765 예시 #include<bits/stdc++.h> using namespace std; int main(){ int n = 5, i, j, num = 1, gap; gap = n - 1; for ( j = 1 ; j &
y =x(A - x)와 같은 곡선이 있다고 가정하면 해당 곡선의 주어진 점(x,y)에서 법선을 찾아야 합니다. 여기서 A는 정수이고 x와 y도 정수입니다. 이 문제를 해결하기 위해 주어진 점이 곡선 위에 있는지 확인하고, 그렇다면 해당 곡선의 미분을 찾으면 −가 됩니다. $$\frac{\text{d}y}{\text{d}x}=A-2x$$ 그런 다음 x와 y를 dy/dx에 넣고 이 방정식을 사용하여 법선을 찾습니다. - $$Y-y=-\lgroup\frac{\text{d}x}{\text{d}y}\rgroup*\lgroup X-x
이 튜토리얼에서는 주어진 직사각형 패턴을 인쇄하는 프로그램에 대해 논의할 것입니다. 이를 위해 직사각형의 높이와 숨결이 주어집니다. 우리의 임무는 @ 문자를 사용하여 주어진 치수로 직사각형을 인쇄하는 것입니다. 예시 #include<iostream> using namespace std; void print_rec(int h, int w){ for (int i=0; i<h; i++){ cout << "\n"; &nb
이 튜토리얼에서는 주어진 범위의 모든 회문을 인쇄하는 프로그램에 대해 논의할 것입니다. 이를 위해 회문을 찾을 수 있는 수학적 범위가 제공됩니다. 우리의 임무는 해당 범위에 있는 모든 회문을 찾아 다시 인쇄하는 것입니다. 예 #include<iostream> using namespace std; //checking if the number is a palindrome int is_palin(int n){ int rev = 0; for (int i = n; i > 0;
A라고 하는 n개의 요소 배열이 있다고 가정합니다. 모든 숫자를 n으로 나눈 후 나머지를 인쇄해야 합니다. A =[100, 10, 5, 25, 35, 14], n =11이라고 가정합니다. 출력은 9입니다. 따라서 값은 100 * 10 * 5 * 25 * 35 * 14 mod 11 =9입니다. 먼저 각 숫자의 나머지를 취한 다음 나머지에 현재 결과를 곱해야 합니다. 곱한 후 오버플로를 피하기 위해 다시 나머지를 취하십시오. 예시 #include<iostream> #include<algorithm> using n
이 튜토리얼에서는 주어진 문자열의 모든 부분 문자열을 출력하는 프로그램에 대해 논의할 것입니다. 이를 위해 문자열 또는 문자 배열이 제공됩니다. 우리의 임무는 특정 문자열의 모든 하위 문자열을 인쇄하는 것입니다. 예시 #include<bits/stdc++.h> using namespace std; //printing all the substrings void print_substr(char str[], int n){ for (int len = 1; len <= n; len++){
우리에게 숫자 n이 있다고 가정하고 우리의 임무는 그 숫자의 합을 찾는 것입니다!. n =5를 고려하고 n! =120. 따라서 결과는 3이 됩니다. 이 문제를 해결하기 위해 계승 숫자를 저장하는 벡터를 만들고 1로 초기화합니다. 그런 다음 1에서 n을 벡터에 하나씩 곱합니다. 이제 벡터의 모든 요소를 합하고 합을 반환합니다. 예시 #include<iostream> #include<vector> using namespace std; void vectorMultiply(vector<int> &
이 튜토리얼에서는 주어진 숫자보다 작은 3과 5로 나누어지는 모든 숫자를 출력하는 프로그램에 대해 논의할 것입니다. 이를 위해 N이라는 숫자가 주어집니다. 우리의 임무는 3과 5로 나눌 수 있는 N보다 작은 모든 숫자를 출력하는 것입니다. 예 #include <iostream> using namespace std; //printing the numbers divisible by 3 and 5 void print_div(int N){ for (int num = 0; num < N; num++)
n개의 요소가 있는 배열 A가 있다고 가정해 보겠습니다. 배열의 모든 부분집합의 합계의 총합을 찾아야 합니다. 따라서 배열이 A =[5, 6, 8]과 같으면 - 하위 집합 합계 5 5 6 6 8 8 5,6 11 6,8 14 5,8 13 5,6,8 19 총 합계 76 배열에 n개의 요소가 있으므로 2n개의 하위 집합(빈 포함)이 있습니다. 명확하게 관찰하면 각 요소가 2n-1번 발생함을 알 수 있습니다. 예시 #include<iostream> #include<cmath> using names
y =x(A - x)와 같은 곡선이 있다고 가정하면 해당 곡선의 주어진 점(x,y)에서 접선을 찾아야 합니다. 여기서 A는 정수이고 x와 y도 정수입니다. 이 문제를 해결하기 위해 주어진 점이 곡선 위에 있는지 여부를 확인하고, 그렇다면 해당 곡선의 미분을 찾으면 - $$\frac{\text{d}y}{\text{d}x}=A-2x$$ 그런 다음 x와 y를 dy/dx에 넣은 다음 이 방정식을 사용하여 탄젠트를 찾습니다. - $$Y-y=-\lgroup\frac{\text{d}y}{\text{d}x}\rgroup*\lgroup X-
이 자습서에서는 역 피라미드 문자 패턴을 인쇄하는 프로그램에 대해 설명합니다. 이를 위해 역 피라미드 삼각형에 포함된 행 수가 제공됩니다. 우리의 임무는 역 피라미드의 모양을 개발하기 위해 주어진 행 수에 알파벳을 인쇄하는 것입니다. 예시 #include <bits/stdc++.h> using namespace std; //printing the inverse pyramid pattern void inv_pyramid(int n){ int i, j, num, gap; for
이등변 삼각형의 측면이 있다고 가정하고 우리의 임무는 삼각형의 면적과 고도를 찾는 것입니다. 이 유형의 삼각형에서는 두 변이 동일합니다. 삼각형의 변이 2, 2, 3이라고 가정하고 고도는 1.32이고 면적은 1.98입니다. 고도(h)=$$\sqrt{a^{2}-\frac{b^{2}}{2}}$$ 면적(A)=$\frac{1}{2}*b*h$ 예시 #include<iostream> #include<cmath> using namespace std; float getAltitude(float a, float b) { &
하나의 이진 트리가 제공된다고 가정합니다. 다른 수준의 리프 노드가 있습니다. 노드를 가리키는 또 다른 포인터가 제공됩니다. 뾰족한 노드에서 가장 가까운 잎 노드까지의 거리를 찾아야 합니다. 트리가 아래와 같다고 생각해보세요 - 여기서 리프 노드는 2, -2 및 6입니다. 포인터가 노드 -5를 가리키는 경우 -5에서 가장 가까운 노드는 거리 1에 있습니다. 이 문제를 해결하기 위해 우리는 주어진 노드에 뿌리를 둔 하위 트리를 탐색하고 하위 트리에서 가장 가까운 잎을 찾은 다음 거리를 저장합니다. 이제 루트에서 시작하여 트리를
단일 연결 목록이 두 개 있다고 가정합니다. 두 단일 연결 목록에서 공통 노드의 총 수를 찾아야 합니다. 따라서 두 개의 목록이 [15, 16, 10, 9, 7, 17] 및 [15, 16, 40, 6, 9]와 같으면 세 개의 공통 노드가 있습니다. 두 개의 중첩 루프를 사용하여 목록의 끝까지 두 목록을 탐색하고 목록의 모든 노드에 대해 두 번째 목록의 노드와 일치하는지 확인합니다. 일치하는 항목이 있으면 카운터를 늘리고 마지막으로 카운트를 반환합니다. 예시 #include<iostream> using namespace