0 3개의 숫자가 주어졌을 때, 3개의 숫자가 네스빗의 부등식을 만족하는지 여부를 확인해야 합니다. 세 개의 숫자가 네스빗의 부등식을 만족하는지 여부를 테스트할 수 있습니다. 간단한 프로그램입니다. 알고리즘 3개의 숫자, b, c를 초기화합니다. 방정식에서 각 부분의 값을 계산합니다. 모두 추가합니다. 합계가 1.5보다 크거나 같으면 네스빗 부등식을 만족하고 그렇지 않으면 만족하지 않습니다. 구현 다음은 위의 알고리즘을 C++로 구현한 것입니다. #include <bits/stdc++.h> using namesp
newman-shanks-williams 프라임 시퀀스는 다음과 같습니다. 1, 1, 3, 7, 17, 41... 시퀀스 항목을 일반화하면 다음을 얻습니다. a0=1 a1=1 an=2*a(n-1)+a(n-2) 알고리즘 숫자 n을 초기화합니다. 시퀀스 1과 1의 첫 번째 숫자를 초기화합니다. n이 될 때까지 반복하는 루프를 작성합니다. 이전 숫자를 사용하여 다음 숫자를 계산합니다. 이전 두 번호를 업데이트합니다. 마지막 번호를 반환합니다. 구현 다음은 위의 알고리즘을 C++로 구현한 것입니다. #include <bi
다음으로 큰 요소는 그 다음의 첫 번째 큰 요소입니다. 예를 들어 보겠습니다. arr =[4, 5, 3, 2, 1] 4에 대한 다음으로 큰 요소는 5이고 요소 3, 2, 1에 대한 다음으로 큰 요소는 -1입니다. 그 다음에 더 큰 요소가 없기 때문입니다. 알고리즘 난수로 배열을 초기화합니다. 스택과 배열을 초기화합니다. 배열의 끝에서 반복합니다. 스택이 비어 있고 맨 위 요소가 현재 요소보다 작거나 같을 때까지 스택에서 요소를 제거합니다. 스택이 비어 있으면 다음으로 큰 요소가 없습니다. 따라서 결과
다음으로 큰 요소는 그 다음의 첫 번째 큰 요소입니다. 예를 들어 보겠습니다. arr =[4, 5, 3, 2, 1] 4에 대한 다음으로 큰 요소는 5이고 요소 3, 2, 1에 대한 다음으로 큰 요소는 -1입니다. 그 다음에 더 큰 요소가 없기 때문입니다. 알고리즘 난수로 배열을 초기화합니다. 스택을 초기화합니다. 스택에 첫 번째 요소를 추가합니다. 배열의 요소를 반복합니다. 스택이 비어 있으면 현재 요소를 스택에 추가합니다. 현재 요소가 스택의 최상위 요소보다 큰 동안. 다음으로 큰 요소를
숫자 n이 주어지면 이진 표현에서 n보다 하나 더 많은 세트 비트를 사용하여 n보다 큰 숫자를 찾아야 합니다. 바이너리 표현에서 숫자 1을 세트 비트라고 합니다. 예를 들어 보겠습니다. 입력 124 출력 125 알고리즘 숫자 n 초기화 . 설정한 비트 수를 구하는 함수를 작성합니다. n + 1을 사용하여 반복 변수를 초기화합니다. . 무한 루프를 작성하십시오. n보다 큰 숫자에 대해 설정된 비트 수 확인 . 번호를 찾으면 반환하십시오. 구현 다음은 위의 알고리즘을 C++로 구현한
주어진 N , A , 및 B . 동일한 수의 A 로 N보다 큰 수를 찾으십시오. 및 B 숫자. 예를 들어 보겠습니다. N = 1234 A = 2 B = 3 주어진 자릿수의 모든 가능성을 확인해야 합니다. 숫자를 구성하는 두 자리 숫자가 있습니다. 그리고 숫자의 각 자릿수는 동일해야 합니다. 알고리즘 A, B, N을 초기화합니다. 재귀 함수를 작성하십시오. 현재 숫자가 N 보다 큰지 확인 동일한 수의 A 및 B 숫자. 위의 조건을 만족하면 숫자를 반환합니다. 결과에 숫자 A를 더하세요. 결과에 숫자 B를
숫자 n이 주어지면 결과 숫자가 숫자 n보다 크도록 숫자의 두 자리를 바꿉니다. 가능하지 않으면 -1을 인쇄하십시오. 예를 들어 보겠습니다. 입력 12345 출력 12354 숫자 4와 5를 교환했습니다. 그리고 한 번의 교환으로 더 높은 숫자를 얻었습니다. 알고리즘 숫자의 자릿수가 내림차순이면 수를 만들 수 없습니다. 숫자의 오른쪽에서 마지막 숫자보다 작은 숫자의 인덱스를 찾습니다. 이전 숫자보다 크고 모든 숫자보다 작은 숫자의 인덱스를 찾습니다. 두 자리를 바꾸고 새 번호를 반환합니다. 새 번호를
숫자 n이 주어지면 이진 표현에서 n과 동일한 수의 세트 비트를 사용하여 n보다 큰 숫자를 찾아야 합니다. 바이너리 표현에서 숫자 1을 세트 비트라고 합니다. 예를 들어 보겠습니다. 입력 124 출력 143 알고리즘 숫자 n.을 초기화합니다. 설정한 비트 수를 구하는 함수를 작성합니다. n + 1을 사용하여 반복 변수를 초기화합니다. 무한 루프를 작성하십시오. n의 설정 비트 수와 동일한 숫자에 대한 설정 비트 수를 확인하십시오. 번호를 찾으면 반환하십시오. 숫자를 증가시킵니다.
n-ary 트리는 각 노드에 대해 n개의 자식이 있는 트리입니다. 숫자 n이 주어지고 n-ary 트리에서 다음으로 큰 요소를 찾아야 합니다. n-ary 트리를 순회하고 결과를 유지함으로써 해를 찾을 수 있습니다. 알고리즘 n항 트리를 생성합니다. 결과를 초기화합니다. 다음으로 더 큰 요소를 가져오는 함수를 작성하십시오. 현재 노드가 null이면 반환합니다. 현재 노드 데이터가 예상 요소보다 큰지 확인하십시오. 예인 경우 결과가 비어 있거나 결과가 현재 노드 데이터보다 큰지 확인합니다. 위의 조건이 충족되면 결과를 업데이트합니다.
다음으로 작은 요소는 그 다음의 첫 번째 작은 요소인 요소입니다. 예를 들어 보겠습니다. arr =[1, 2, 3, 5, 4] 5에 대한 다음으로 작은 요소는 4이고 요소 1, 2, 3에 대한 다음으로 작은 요소는 -1입니다. 그 뒤에 더 작은 요소가 없기 때문입니다. 알고리즘 난수로 배열 초기화 스택을 초기화합니다. 스택에 첫 번째 요소를 추가합니다. 배열의 요소를 반복합니다. 스택이 비어 있으면 현재 요소를 스택에 추가합니다. 현재 요소가 스택의 맨 위 요소보다 작은 동안. 다음으로 작은
숫자 N이 주어졌습니다. N보다 큰 소수 회문을 찾아야 합니다. 예를 들어 보겠습니다. 입력 N = 10 출력 11 알고리즘 숫자 N을 초기화합니다. 주어진 숫자가 소수인지 확인하는 함수를 작성하십시오. 주어진 숫자가 회문인지 확인하는 함수를 작성하세요. N + 1부터 반복하는 루프 작성 다음 주요 회문을 찾을 때까지. 숫자가 소수와 회문인지 확인합니다. 숫자가 소수와 회문인 경우 번호를 반환합니다. 구현 다음은 위의 알고리즘을 C++로 구현한 것입니다. #include<bits/stdc+
배열이 주어지고 그 배열에서 가장 빈번한 요소를 찾아야 합니다. 예를 들어 보겠습니다. 입력 arr = [1, 2, 3, 3, 2, 2, 1, 1, 2, 3, 4] 출력 2 위의 배열에서 2는 배열의 다른 배열보다 가장 빈번하게 4번 발생합니다. 알고리즘 - 1 배열을 초기화합니다. 맵을 초기화하여 각 요소의 빈도를 저장합니다. 각 요소의 빈도를 계산하여 지도에 저장합니다. 지도를 반복하고 가장 빈도가 높은 요소를 찾습니다. 요소를 반환합니다. 알고리즘 - 2 배열을 초기화합니다. 주어진 배열을
모츠킨 수열은 1, 1, 4, 9 등으로 시작합니다. 수열로 일반화된 n번째 항을 얻을 수 있습니다. 모츠킨 수열은 다음과 같습니다. a0 =1 a1 =1 a2 =4 a3 =9 n =((2 * n + 1)/ n + 2) * M(n-1) +((3 * n - 3)/ n + 2) * M(n - 2) 알고리즘 숫자 n.을 초기화합니다. n.까지 반복합니다. 이전 두 번호 업데이트 마지막 숫자를 반환합니다. 예시 구현 다음은 위의 알고리즘을 C++로 구현한 것입니다. #include <bit
여러 개의 0이 포함된 배열이 제공됩니다. 배열의 모든 0을 끝까지 이동해야 합니다. 예를 들어 보겠습니다. 입력 arr = [4, 5, 0, 3, 2, 0, 0, 0, 5, 0, 1] 출력 4 5 3 2 5 1 0 0 0 0 0 알고리즘 배열을 초기화합니다. 색인을 0으로 초기화합니다. 주어진 배열을 반복합니다. 현재 요소가 0이 아니면 인덱스의 값을 현재 요소로 업데이트합니다. 인덱스를 증가시킵니다. 위의 인덱스에서 n까지 반복하는 루프를 작성하세요. 모든 요소를 0으로 업
이 자습서에서는 모든 0을 배열의 맨 앞으로 이동하고 1을 끝으로 이동하는 프로그램을 작성할 것입니다. 임의의 정수와 함께 0과 1이 있는 배열이 제공됩니다. 모든 0을 시작으로 이동하고 1을 배열의 끝으로 이동해야 합니다. 예를 들어 보겠습니다. 입력 arr = [4, 5, 1, 1, 0, 0, 2, 0, 3, 1, 0, 1] 출력 0 0 0 0 4 5 2 3 1 1 1 1 알고리즘 배열을 초기화합니다. 색인을 1로 초기화합니다. 주어진 배열을 반복합니다. 현재 요소가 0이 아니면 인덱스의 값을 현
임의의 정수와 0이 있는 연결 목록이 제공됩니다. 모든 0을 연결 목록의 맨 앞으로 이동해야 합니다. 예를 들어 보겠습니다. 입력 3 -> 0 -> 1-> 0 -> 0 -> 1 -> 0 -> 0 -> 3 -> NULL 출력 0->0->0->0->0->3->1->1->3->NULL 알고리즘 연결 목록을 초기화합니다. 연결 목록이 비어 있거나 단일 노드가 있는 경우 반환합니다. 현재 및 이전 노드를 추적하기 위해 각각 두 번째 노
연결된 목록이 주어지면 첫 번째 요소를 끝으로 이동해야 합니다. 예를 들어 보겠습니다. 입력 1 -> 2 -> 3 -> 4 -> 5 -> NULL 출력 2 -> 3 -> 4 -> 5 -> 1 -> NULL 알고리즘 연결 리스트를 초기화합니다. 연결 목록이 비어 있거나 단일 노드가 있는 경우 반환합니다. 연결 리스트의 마지막 노드를 찾습니다. 두 번째 노드를 새 헤드로 만듭니다. 첫 번째 노드와 마지막 노드의 링크를 업데이트합니다. 구현 다음은
연결된 목록이 주어지면 마지막 요소를 앞으로 이동해야 합니다. 예를 들어 보겠습니다. 입력 1 -> 2 -> 3 -> 4 -> 5 -> NULL 출력 5 -> 1 -> 2 -> 3 -> 4 -> NULL 알고리즘 연결 리스트를 초기화합니다. 연결 목록이 비어 있거나 단일 노드가 있는 경우 반환합니다. 연결 리스트의 마지막 노드와 두 번째 마지막 노드를 찾습니다. 마지막 노드를 새 헤드로 만듭니다. 마지막 두 번째 노드의 링크를 업데이트합니다. 구현
장애물 없이 % 연산자를 사용하여 배수를 찾을 수 있습니다. 그러나 문제는 % 연산자를 사용할 수 없다는 것입니다. 여기서는 + 연산자를 사용합니다. 이전 배수에 3 또는 5를 더하면 배수를 얻을 수 있습니다. 예를 들어 보겠습니다. 입력 15 출력 1 2 3 - Multiple of 3 4 5 - Multiple of 5 6 - Multiple of 3 7 8 9 - Multiple 3 10 - Multiple of 5 11 12 - Multiple of 3 13 14 15 - Multiple of both 3 and 5
숫자 n이 주어지면 n까지 3 또는 7의 배수의 개수를 찾아야 합니다. 예를 들어 보겠습니다. 입력 100 출력 43 100까지 3 또는 7의 배수는 총 43개입니다. 알고리즘 숫자 n을 초기화합니다. 카운트를 0으로 초기화합니다. 3에서 반복되는 루프 작성 n.으로 현재 숫자가 3으로 나누어 떨어지는 경우 개수를 늘립니다. 또는 7. 구현 다음은 위의 알고리즘을 C++로 구현한 것입니다. #include <bits/stdc++.h> using namespace std; int