Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++
  • C 프로그래밍
  •   
  • C++
  •   
  • Redis
  •   
  • BASH 프로그래밍
  •   
  • Python
  •   
  • Java
  •   
  • 데이터 베이스
  •   
  • HTML
  •   
  • JavaScript
  •   
  • 프로그램 작성
  •   
  • CSS
  •   
  • Ruby
  •   
  • SQL
  •   
  • IOS
  •   
  • Android
  •   
  • MongoDB
  •   
  • MySQL
  •   
  • C#
  •   
  • PHP
  •   
  • SQL Server
  • C++

    1. 주어진 원이 C++에서 두 개의 동심원으로 형성된 고리 내부에 완전히 있는지 확인하십시오.

      r입니다. 또 다른 원이 있습니다. 반지름(r1)과 중심점이 주어지면 그 점이 처음 두 개의 원으로 형성된 고리 내부에 있는지 확인해야 합니다. =r 및 (distance – r1) <=R이면 둘 다 참이면 원이 링 안에 있습니다. 예 #include <iostream> #include <cmath> using namespace std; bool isInside(int r, int R, int r1, int x, int y) {    int dis = sqrt(x*x+y*y);  

    2. 주어진 문자열이 C++에서 합계 문자열인지 확인

      문자열이 합 문자열인지 여부를 확인하는 방법을 살펴보겠습니다. 가장 오른쪽 부분 문자열이 앞에 있는 두 부분 문자열의 합으로 쓰여질 수 있는 경우 문자열을 합 문자열이라고 하며, 그 앞의 부분 문자열에 대해서도 재귀적으로 마찬가지입니다. 12243660과 같은 문자열이 12 + 24 =36과 같은 합계 문자열이고 36이 문자열에서 12와 24 뒤에 있고 다시 24 + 36 =60이 있다고 가정하고 이것도 문자열에 있습니다. 문자열 S는 다음 규칙을 따르는 경우 합계 문자열이라고 부를 수 있습니다. - 𝑠𝑢𝑏𝑠𝑡𝑟𝑖�

    3. 주어진 트리 그래프가 C++에서 선형인지 아닌지 확인

      트리 그래프가 선형인지 아닌지 확인하는 방법을 알아보겠습니다. 선형 트리 그래프는 선형 트리 그래프의 예라고 가정해 한 줄로 표현할 수 있습니다. 그러나 이것은 선형이 아닙니다 - 그래프가 선형인지 아닌지 확인하기 위해 두 가지 조건을 따를 수 있습니다. 노드 수가 1이면 트리 그래프가 선형입니다. 만약 (n – 2) 노드의 차수가 2인 경우 예시 #include <iostream> #include <vector> #define N 4 using namespace std; class Graph{

    4. 그래프가 강하게 연결되어 있는지 확인 - C++에서 Set 1(DFS를 사용하는 Kosaraju)

      그래프가 있다고 가정합니다. 그래프가 강하게 연결되어 있는지 여부를 Kosaraju 알고리즘을 사용하여 확인해야 합니다. 그래프는 강하게 연결되어 있다고 하며, 두 정점 사이에 경로가 있으면 그래프가 연결된 것입니다. 무방향 그래프는 강하게 연결된 그래프입니다. 일부 무방향 그래프는 연결될 수 있지만 강력하게 연결되지는 않습니다. 이것은 강하게 연결된 그래프의 예입니다. 이것은 연결되었지만 강하게 연결되지 않은 그래프의 예입니다. 여기서는 다음과 같은 Kosaraju 알고리즘 단계를 사용하여 그래프가 강하게 연결되어 있

    5. C++에서 선이 원에 닿거나 교차하는지 확인

      원과 또 다른 직선이 있다고 가정합니다. 우리의 임무는 선이 원에 닿거나 교차하는지 확인하는 것입니다. 그렇지 않으면 외부를 통과합니다. 따라서 아래와 같이 세 가지 다른 경우가 있습니다 - 여기서는 다음 단계에 따라 해결합니다. 다음과 같습니다 - 중심과 주어진 선 사이의 수직 P 찾기 반지름 r −과 P 비교 r이면 외부 P =r이면 터치 그렇지 않으면 내부 수직 거리를 얻으려면 이 공식을 사용해야 합니다(중심점은 (h, k)) $$\frac{ah+bk+c}{\sqrt{a^2+b^2}}$$ 예시 #include

    6. C++에서 행렬이 반전 가능한지 확인

      여기에서 행렬이 역행성인지 여부를 확인하는 방법을 살펴보겠습니다. 한 행렬이 M이면 역행렬 M-1은 - $$M^-1=\frac{adj(M)}{|M\lvert}$$ 따라서 M의 행렬식이 0이 아니면 역함수만 얻을 수 있고 그렇지 않으면 역함수를 얻을 수 없습니다. 그래서 여기서 우리는 행렬식이 0이 아닌지 확인해야 합니다. 행렬식을 찾는 것은 하나의 재귀 프로세스입니다. 우리는 부분행렬을 찾고, 그 행렬식을 찾은 다음, 그 결과를 최종 계산에 사용해야 합니다. 더 나은 아이디어를 얻기 위해 코드를 살펴보겠습니다. 예시 #inclu

    7. C++에서 숫자의 xor가 0보다 크도록 모든 행의 숫자를 선택할 수 있는지 확인하십시오.

      크기가 N x M인 하나의 2D 배열이 있다고 가정합니다. 작업은 해당 요소의 XOR이 0이 아니거나 0보다 큰 방식으로 모든 행에서 숫자를 선택할 수 있는지 확인하는 것입니다. 하나의 행렬이 다음과 같다고 가정합니다. 이렇게 - 7 7 7 10 10 7 XOR을 수행하면 두 행의 마지막 요소를 제외하고 7과 10이므로 답은 0이 아닙니다. 이 문제를 해결하려면 솔루션이 매우 간단합니다. 처음에 각 행의 첫 번째 열 요소의 XOR이 0인지 확인합니다. 0이 아니면 가능합니다. 그렇지 않으면 행에 두 개 이상의 개별 요소가

    8. C++에서 이진 문자열에 길이가 k인 모든 순열이 포함되어 있는지 확인

      이진 문자열, 또 다른 정수 k가 있다고 가정합니다. 문자열에 k 비트 바이너리의 모든 순열이 포함되어 있는지 확인해야 합니다. 문자열이 11001과 같다고 가정하고 K =2이면 k 비트 숫자의 모든 순열을 가져야 합니다. (00, 01, 10, 11), 주어진 문자열에는 모든 순열이 있습니다. 따라서 이것은 유효한 문자열입니다. 이진 문자열과 k 값을 취하여 이진 시퀀스가 ​​일치하는지 여부를 확인해야 합니다. 이진 시퀀스는 크기 k로 구성됩니다. 따라서 2,000개의 서로 다른 이진 순열이 있을 것입니다. k 길이의 이진 값의

    9. C++에서 이진 트리(BST 아님)에 중복 값이 ​​있는지 확인

      이진 트리가 있다고 가정해 보겠습니다. 이 이진 트리는 BST가 아닙니다. 이진 트리에 동일한 요소가 두 번 이상 포함되어 있는지 확인해야 합니다. 이를 해결하기 위해 해싱을 사용합니다. 주어진 트리를 탐색하고 각 노드에 대해 노드가 테이블에 있는지 여부를 확인하고 이미 있는 경우에는 false를 반환하고 그렇지 않으면 true를 반환합니다. 예시 #include <iostream> #include <unordered_set> using namespace std; class Node {    

    10. C++에서 이진 트리에 크기가 2 이상인 중복 하위 트리가 포함되어 있는지 확인하십시오.

      이진 트리가 있다고 가정합니다. 트리에 크기가 2 이상인 중복 하위 트리가 있는지 여부를 찾아야 합니다. 아래와 같은 이진 트리가 있다고 가정합니다. - 크기가 2인 두 개의 동일한 하위 트리가 있습니다. 트리 직렬화와 해싱 프로세스를 사용하여 이 문제를 해결할 수 있습니다. 아이디어는 하위 트리를 문자열로 직렬화하여 해시 테이블에 저장하는 것입니다. 리프가 아니고 이미 해시 테이블에 존재하는 직렬화된 트리를 찾으면 true를 반환합니다. 예시 #include <iostream> #include <unorder

    11. C++에서 이진 트리가 레벨별로 정렬되었는지 확인하십시오.

      여기에서 이진 트리가 레벨별로 정렬되었는지 여부를 확인하는 방법을 볼 것입니다. 레벨별로 정렬된 이진 트리는 다음과 같습니다. - 각 수준에서 노드는 왼쪽에서 오른쪽으로 정렬되며 각 레이어는 이전 수준보다 높은 값을 포함합니다. 레벨 순서 순회를 수행하여 이 문제를 해결할 수 있고 현재 레벨의 최소 및 최대 요소를 추적할 수 있습니다. 다른 변수 prev_max를 사용하여 이전 수준의 최대값을 유지합니다. 그런 다음 현재 레벨의 최소값과 이전 레벨 prev_max의 최대값을 비교합니다. 최소값이 prev_max보다 크면 트리

    12. C++의 문자열에서 셀을 두 번 이상 방문할 수 있는지 확인

      점(.)과 숫자가 있는 문자열이 있고 점은 셀이 비어 있음을 나타내고 임의의 셀에 숫자 x가 있으면 문자열 내에서 x 단계를 오른쪽이나 왼쪽으로 이동할 수 있음을 나타냅니다. 우리의 임무는 셀을 두 번 이상 방문할 수 있는지 여부를 확인하는 것입니다. 예를 들어 문자열이 . 2 . . . 2 . . 그러면 두 가지 다른 방법으로 4번째 셀을 방문할 수 있습니다. 두 번째 셀에서 오른쪽으로 두 단계 또는 셀 6에서 왼쪽으로 두 단계로 이동합니다. 문자열의 i번째 셀을 방문할 수 있는 횟수를 추적하기 위해 Visit[]라는 배열 하나

    13. 주어진 배열이 C++에서 이진 검색 트리의 선주문 순회를 나타낼 수 있는지 확인하십시오.

      배열에 요소 목록이 있다고 가정하고 요소가 이진 검색 트리의 선주문 순회가 될 수 있는지 여부를 확인해야 합니다. 시퀀스가 {40, 30, 35, 80, 100}과 같다고 가정하면 트리는 다음과 같습니다. - 스택을 사용하여 이것을 해결할 수 있습니다. 이 문제를 해결하려면 다음 단계를 따라야 합니다. 빈 스택 정의 근을 음의 무한대로 설정 선주문 순서의 모든 요소에 대해 다음을 수행합니다. - 요소가 현재 루트보다 작으면 false를 반환합니다. 요소가 스택 상단보다 큰 동안 스택에서 요소를 계속 제거하고 마지막으로 제거된

    14. 주어진 행렬이 C++에서 Hankel인지 아닌지 확인

      정방 행렬이 있다고 가정하고 우리의 임무는 행렬이 Hankel 행렬인지 여부를 확인하는 것입니다. Hankel 행렬은 왼쪽에서 오른쪽으로 오름차순 스큐 대각 요소가 일정한 정사각형 행렬입니다. 행렬이 아래와 같다고 가정 - 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 행렬이 Hankel Matrix인지 확인하려면 mat[i, j] =ai+j인지 확인해야 합니다. 아니면. ai+j 다음과 같이 정의할 수 있습니다 - $$a_{i+j}=\begin{cases}mat[i+j,0

    15. 주어진 휴대폰 번호가 C++에서 멋진지 확인하십시오.

      우리는 10자리 휴대폰 번호를 가지고 있으며, 우리의 임무는 그 번호가 공상 번호인지 확인하는 것입니다. 멋진 번호에는 세 가지 조건이 있습니다. 적어도 하나가 참이면 그 숫자는 환상적입니다. 이러한 조건은 다음과 같습니다 - 555와 같이 단일 숫자가 세 번 연속으로 나타납니다. 3개의 연속된 숫자는 123 또는 321과 같이 오름차순 또는 내림차순입니다. 한 자리 숫자는 8965499259와 같이 숫자에서 4번 이상 나타납니다. 여기서는 9가 4번 나타납니다. 팬시넘버의 한 예로 9859009976을 들 수 있는데 세 번째

    16. 주어진 숫자가 주어진 번호로 표현될 수 있는지 확인하십시오. C++의 모든 기본 자릿수

      숫자 n과 자릿수 d가 있다고 가정합니다. 숫자 n이 2에서 32 사이의 모든 밑수에서 d 자리 숫자로 표시될 수 있는지 확인해야 합니다. 숫자 n이 8이고 d =4라고 가정하면 이진수로 1000으로 나타낼 수 있습니다. 여기서 d는 4입니다. . 아이디어는 2에서 32까지 모든 기지를 하나씩 확인하는 것입니다. 다음 단계에 따라 기지를 확인할 수 있습니다. 숫자가 밑수보다 작고 숫자가 1이면 true를 반환합니다. 숫자가 하나 이상이고 숫자가 밑수보다 크면 num/base를 수행하여 숫자에서 마지막 숫자를 제거하여 자릿수를 줄

    17. 주어진 숫자가 C++에서 해당 숫자의 계승의 합을 나누는지 확인하십시오.

      정수가 있다고 가정하고 숫자가 자릿수의 계승의 합을 나누는지 찾아야 합니다. 숫자가 19이고 계승의 합이 (1! + 9!) =362881이라고 가정하고 이것은 19로 나눌 수 있습니다. 이 문제를 해결하기 위해 숫자를 취한 다음 각 자릿수의 계승을 계산하고 합을 더합니다. 합이 숫자 자체로 나눌 수 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다. 예시 #include <iostream> using namespace std; int factorial(int n){    if(n == 1

    18. 주어진 숫자가 C++에서 Pronic인지 확인

      여기서 번호가 Pronic 번호인지 여부를 확인하는 방법을 살펴보겠습니다. 직사각형을 형성하도록 배열할 수 있는 수를 음수(pronic number)라고 합니다. 처음 몇 개의 음수는 0, 2, 6, 12, 20, 30, 42, 56, 72, 90, 110, 132, 156, 182, 210, 240, 272, 306, 342입니다. 두 개의 연속 정수. 따라서 음수 n =x * (x + 1). 여기서 우리는 몇 가지 pronic number를 확인하고 생성할 것입니다. 예시 #include <iostream> #inc

    19. C++에서 큰 수를 동일한 합계의 두 개 이상의 세그먼트로 나눌 수 있는지 확인

      여기서 우리는 숫자가 동일한 합을 갖는 하나 이상의 세그먼트로 분할될 수 있는지 여부를 확인할 수 있는 프로그램을 볼 것입니다. 숫자가 74325와 같다고 가정하면 이것은 세 부분으로 분할될 수 있습니다 (7), (4, 3), (2, 5), 모두 동일한 um 값입니다. 이 문제를 해결하려면 다음 단계를 따라야 합니다. 숫자를 문자열로 사용 배열을 사용하여 배열의 접두사 합계를 보유 이제 두 번째 요소에서 마지막 요소로 이동하고 첫 번째 세그먼트는 0에서 i-1까지이며 합계는 prefix_sum[i - 1]에 위치합니다. 1에서

    20. C++에서 큰 수를 13으로 나눌 수 있는지 확인

      여기서 우리는 숫자가 13의 배수인지 아닌지 확인하는 방법을 볼 것입니다. 이 경우 숫자는 매우 큰 숫자입니다. 그래서 우리는 숫자를 문자열로 넣습니다. 숫자가 다음 상황을 충족하는 경우 숫자는 13으로 나눌 수 있습니다. - 교번 합계를 얻는 경우에만 숫자를 13으로 나눌 수 있습니다. 크기 3의 블록은 2 – 911 + 285 =-650이며 13으로 나눌 수 있습니다. 숫자는 나머지에 4를 곱한 마지막 숫자도 13으로 나눌 수 있는 경우에만 13으로 나눌 수 있습니다. 예를 들어 2353을 고려합니다. 위의 규칙을 적용하면

    Total 5992 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:83/300  20-컴퓨터/Page Goto:1 77 78 79 80 81 82 83 84 85 86 87 88 89