이 자습서에서는 소수를 이진수로 변환하는 프로그램에 대해 설명합니다. 이를 위해 소수와 정수 k가 제공됩니다. 우리의 임무는 주어진 소수를 소수 정밀도의 주어진 k자리까지 해당하는 이진으로 변환하는 것입니다. 예시 #include<bits/stdc++.h> using namespace std; //converting decimal to binary number string convert_tobinary(double num, int k_prec) { string binary = ""
이 튜토리얼에서는 임의의 밑수에서 십진수로 또는 그 반대로 변환하는 프로그램에 대해 설명합니다. 이를 위해 정수와 그 밑이 제공됩니다. 우리의 임무는 숫자를 해당하는 십진수로 변환하는 것입니다. 또한 이 절차의 역순으로도 수행할 것입니다. 예 #include <stdio.h> #include <string.h> //returning values of a character int val(char c) { if (c >= '0' && c <= '
이 튜토리얼에서는 요소를 추가하여 주어진 배열을 산술 진행으로 변환하는 프로그램에 대해 논의할 것입니다. 이를 위해 배열이 제공됩니다. 우리의 임무는 주어진 배열에 단일 요소를 추가하여 산술 진행으로 변환하고 추가된 요소를 반환하는 것입니다. 불가능하면 -1을 반환합니다. 예시 #include<bits/stdc++.h> using namespace std; //returning the number to be added int print_number(int arr[], int n){ sort(arr
이 튜토리얼에서는 고유한 문자만 포함하도록 주어진 문자열을 변환하는 프로그램에 대해 논의할 것입니다. 이를 위해 문자열이 제공됩니다. 우리의 임무는 문자열을 순회하고 모든 반복 문자를 문자열에 없는 임의의 문자로 바꾸는 것입니다. 예시 #include<bits/stdc++.h> using namespace std; //collecting the distinct characters //in the string int calculate_zero(int i, int occurrences[]){ whil
n개의 요소로 구성된 배열이 있다고 가정합니다. 일부 요소는 두 번 나타나고 다른 요소는 한 번 나타납니다. 요소의 범위는 1 <=A[i] <=n입니다. 배열에 없는 요소를 찾아야 합니다. 제약 조건은 추가 공간을 사용하지 않고 이 문제를 해결해야 하며 시간은 O(n)입니다. 따라서 배열이 [4, 3, 2, 7, 8, 2, 3, 1]이면 결과는 [5, 6]이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n은 배열의 크기입니다. 0 ~ n – 1 범위의 i에 대해 x :=|A[i]| - 1 0이면 A[x] :=
비어 있지 않은 문자열이 있다고 가정합니다. 부분 문자열을 가져와서 부분 문자열을 여러 번 추가하여 구성할 수 있는지 여부를 확인해야 합니다. 문자열은 영문 소문자로만 구성되며 길이는 10000을 초과하지 않습니다. 따라서 입력이 abaabaaba와 같으면 aba를 사용하여 생성되므로 응답은 true가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 동적 프로그래밍 방식을 사용할 것입니다. 크기가 n인 어레이 DP를 정의합니다. n은 문자열의 크기입니다. i :=1 및 j :=0 내가
문자와 숫자가 포함된 문자열이 있다고 가정합니다. 문자열에 있는 대문자 및 소문자 버전을 사용하여 해당 문자열의 가능한 모든 조합을 생성해야 합니다. 따라서 한 문자열에 숫자만 있는 경우 해당 문자열만 반환됩니다. 문자열이 1ab2와 같다고 가정하면 문자열은 [1ab2, 1Ab2, 1aB2, 1AB2]가 됩니다. 이 문제를 해결하기 위해 재귀 접근 방식을 사용합니다. 해당 인덱스에서 작업을 시작하려면 인덱스 매개변수가 필요합니다. 또한 결과가 생성되는 임시 문자열도 필요합니다. 인덱스가 문자열 길이와 같으면 임시 문자열을 반환합니
한 남자가 키보드로 이름을 입력하고 있다고 가정합니다. 간혹 실수로 버튼을 길게 누르는 경우가 있습니다. 따라서 하나 이상의 추가 문자를 입력할 수 있습니다. 따라서 두 개의 문자열을 가져와서 두 번째 문자열이 길게 눌러진 이름인지 여부를 확인합니다. 따라서 이름이 Amit이고 두 번째 문자열이 Ammittt이면 길게 눌러진 이름입니다. 그러나 Ammttt는 여기에 있지 않습니다. 왜냐하면 캐릭터 i가 여기에 없기 때문입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − j :=0 i:=0, i
2N명이 있다고 가정합니다. 회사에서 하나의 인터뷰를 조직하려고 합니다. i번째 사람을 도시 A로 보내는 데 드는 비용은 비용[i][0]이고 i번째 사람을 도시 B로 보내는 데 드는 비용은 비용[i][1]입니다. N명이 모든 도시에 도착할 수 있도록 모든 사람을 도시로 보내는 데 드는 최소 비용을 찾아야 합니다. 따라서 주어진 목록이 [[10, 20], [30, 200], [400, 50], [30, 20]]이면 출력은 110이 됩니다. 따라서 사람 P1을 비용 10으로 도시 A로 보냅니다. , 두 번째 사람은 비용 30으로 도시
이 기사는 복소수에 대한 투영을 수행하기 위한 proj()의 기능을 보여줍니다. C++ 프로그래밍에서 proj() 메서드의 구문은 다음과 같습니다. template <class T> complex<T> proj (const complex<T>& z); 예시 proj() 메서드는 복소수를 나타내는 인수로 매개변수를 사용하고 샘플에서 아래에 설명된 복소수의 투영을 다음과 같이 반환합니다. #include <iostream> #include <complex> using nam
이 기사는 C++ 프로그래밍의 재귀적 구현을 사용하여 피라미드 패턴을 인쇄하는 것을 목표로 합니다. 이를 위한 알고리즘은 다음과 같습니다. 알고리즘 Step-1 Set the height of the pyramid Step-2 Adjust space using recursion function Step-3 Adjust Hash(#) character using recursion function Step-4 Call both functions altogether to print the Pyramid pattern 예시 위의 알고
이 기사는 C++ 프로그래밍을 사용하여 흥미로운 패턴을 인쇄합니다. 알고리즘은 다음과 같습니다. 알고리즘 Step-1 Define the size which will be double automatically Step-2 Print the upper section using a loop Step-3 Print the lower section using a loop 예시 위의 알고리즘을 기반으로 다음과 같은 C++ 코드가 새겨져 있습니다. #include <iostream> using namespace std; int m
이 기사는 C++ 프로그래밍 언어를 사용하여 하프 피라미드 패턴 bash를 인쇄하기 위한 것입니다. 인쇄될 규정된 패턴의 관점에서 다음과 같은 알고리즘이 우리의 목표를 달성하기 위해 조정되고 있습니다. 알고리즘 Step-1 Set the length of the Bash (Height) Step-2 Outer loop to handle the number of rows Step-3 Inner loop to handle columns Step-4 Print the pattern with the character (@) Step-5 S
이 문제에서 n개의 문자열이 주어지고 문자열의 모든 문자 순열을 인쇄해야 합니다. 문자열의 문자 반복이 허용됩니다. 순열 인쇄는 가나다순(사전순)으로 이루어져야 합니다. 주제를 더 잘 이해하기 위해 예를 들어보겠습니다. 입력 - XY 출력 - XX, XY, YX, YY 이 문제를 해결하려면 수정 및 반복 논리를 사용해야 합니다. 여기서는 배열의 첫 번째 인덱스에서 한 요소를 수정한 다음 시퀀스의 다음 요소를 재귀적으로 호출합니다. 솔루션을 명확하게 해 줄 구현 예를 살펴보겠습니다. 입력 문자열 XY. 1개의 인덱스에서 첫
이 문제에서는 길이가 n인 문자열이 주어지고 문자열의 모든 문자 순열을 정렬된 순서로 인쇄해야 합니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력: XYZ 출력: XYZ, XZY, YXZ, YZX, ZXY, ZYX. 여기에서 모든 순열을 사전순(알파벳 오름차순)으로 인쇄해야 합니다. 이 문제를 해결하려면 먼저 배열을 알파벳순으로 오름차순으로 정렬해야 합니다. 정렬된 배열은 순열의 첫 번째 요소입니다. 그런 다음 문자열의 다음 고차 순열을 생성합니다. 아래 코드를 사용하면 솔루션이 더 명확해집니다. 예시 #includ
이 문제에서 mXn 2D 행렬이 주어지고 행렬의 왼쪽 상단에서 오른쪽 하단까지 가능한 모든 경로를 인쇄해야 합니다. 탐색의 경우 왼쪽, 오른쪽, 위쪽, 아래쪽의 네 가지 방향으로 모두 이동할 수 있습니다. 오른쪽 및 위쪽 이동은 거의 사용되지 않지만 때때로 유용할 수 있습니다. 주제를 더 잘 이해하기 위해 예를 들어보겠습니다. 입력: 1 3 5 2 8 9 출력: 1 -> 3 -> 5 -> 9 1 -> 3 -> 8 -> 9 1 -> 2 -> 8 -> 9 이 문제를 해결하기
이 문제에서는 방향 그래프가 주어지고 그래프의 소스에서 목적지까지의 모든 경로를 인쇄해야 합니다. 방향 그래프 정점 a에서 b로 향하는 간선이 있는 그래프입니다. 문제를 이해하기 위해 예를 들어보겠습니다. 소스 =K 대상 =P 출력: K -> T -> Y -> A -> P K -> T -> Y -> P K -> A -> P 여기에서 K에서 P로 가는 경로를 찾았습니다. 경로를 가로질러 K에서 P로 향하는 모든 경로를 인쇄했습니다. 이 문제를 해결하기 위해 깊이
이 문제에서 방향 그래프가 주어지고 BFS(Breadth First Search)를 사용하여 소스에서 그래프의 대상까지의 모든 경로를 인쇄해야 합니다. 방향성 그래프 정점 a에서 b로 향하는 모서리가 있는 그래프입니다. 문제를 이해하기 위해 예를 들어 보겠습니다. - 소스 =K 대상 =P 출력 K -> T -> Y -> A -> P K -> T -> Y -> P K -> A -> P 여기에서 K에서 P로 가는 경로를 찾았습니다. 경로를 가로질러 K에서 P로 향하는
이 문제에서 aplhabets(소문자만)를 포함하는 행렬이 주어지고 행렬의 왼쪽 상단에서 오른쪽 하단까지 주어진 행렬의 모든 회문 경로를 인쇄해야 합니다. 이 문제에서 허용된 이동은 오른쪽과 아래쪽입니다. 대각선 이동은 허용되지 않습니다. 문제를 이해하기 위해 예를 들어 보겠습니다. − 입력: 행렬[][] ={ {xxxy, yxxx, xyyx}출력: xxxxxx , xxxxxx , xxxxxx 설명 wrt에서 i번째까지의 위치를 사용하여 왼쪽 위에서 오른쪽 아래로의 모든 유효한 이동을 볼 수 있습니다. 위치. i00 나는01
이 문제에서는 회문 문자열이 제공됩니다. 그리고 이 문자열의 모든 파티션을 인쇄해야 합니다. 이 문제에서는 문자열을 잘라서 가능한 모든 회문 분할을 찾습니다. 문제를 이해하기 위해 예를 들어 보겠습니다. - 입력 - 문자열 =아바바 출력 − 아바바, 아바바, 아바바아…. 이 문제에 대한 해결책은 부분 문자열이 회문인지 여부를 확인하는 것입니다. 하위 문자열인 경우 하위 문자열을 인쇄합니다. 예시 아래 프로그램은 솔루션을 설명합니다 - #include<bits/stdc++.h> using namespace std; bo