C++로 작성하여 처음 세 항이 등차수열이고 마지막 세 항이 등비수열인 사중항의 수를 구합니다.
이 기사에서는 처음 3개의 항이 A.P.이고 마지막 3개의 항이 G.P.인 쿼터니언을 찾는 가능한 모든 방법을 설명합니다. 먼저, 산술수열(A.P.)과 기하수열(G.P.)의 기본 정의를 설명하겠습니다.
산술 진행(A.P.) - 공차(d)가 동일하거나 일정한 수열입니다. 즉, 연속된 두 수의 차이가 일정하다는 의미입니다. 예: 1,3,5,7,9 | d = 2
Geometric Progression(G.P.) - 이것은 공통 비율(r)이 동일한 일련의 숫자입니다. 즉, 이전 값을 곱할 수 있습니다. 고정된 숫자로 번호를 매깁니다. 예: 3, 6, 12, 24, .... | r = 2
이 문제에서는 N 정수의 배열 arr[]에 몇 개의 인덱스 쿼드러플(a, b, c)이 있는지 확인해야 합니다. , 디). 결과적으로 arr[a], arr[b], arr[c]는 A.P.에 있고, arr[d], arr[c], arr[b]는 G.P에 있습니다. 그 안의 4개 튜플은 모두 결정적이어야 합니다. 예는 다음과 같습니다. -
Input : arr[ ] = { 9, 6, 4, 2, 1, 2 } Output : 2 Explanation: Elements in the quadruples are at { 3, 2, 1, 0 } and { 5, 2, 1, 0 } indexes where quadruples are { 2, 4, 6, 9 } for both positions. Input : arr[ ] = { 2, 6, 1, 4, 2 } Output : 2 Explanation: Elements in the quadruples are at { 1, 3, 0, 2 } and { 1, 3, 4, 2 } indexes where quadruples are { 6, 4, 2, 1 } for both positions.
해를 찾는 방법
이제 해를 찾는 두 가지 다른 방법을 설명하겠습니다. -
무차별 대입 방법
이것은 네 개의 중첩 루프를 사용하여 해결하는 간단한 방법입니다. 그런 다음 이 질문은 다음을 확인합니다. 처음 세 요소는 A.P에 있습니다. 그렇다면 마지막 3개 요소가 G.P.에 있는지 확인하세요. 그렇다면 count 변수에 1을 추가하십시오. 그러나 이 방법은 시간 복잡도가 O(n4)이므로 시간이 많이 걸립니다.
효율적인 방법
< p>이 방법에서는 먼저 각 배열 요소의 개수를 찾은 다음 이 두 요소를 두 번째와 세 번째 숫자로 간주하고 두 개의 중첩 루프를 실행한 다음 첫 번째 요소는 arr[b] – (arr[c ] – arr[b]) 네 번째 요소는 arr[c] * arr[c] / arr[b]입니다.Example
#include <bits/stdc++.h> using namespace std; int main (){ unordered_map < int, int >map; int arr[] = { 2, 6, 1, 4, 2 }; int size = sizeof (arr) / sizeof (arr[0]); // Processing every elent and increasing the count for (int a = 0; a < size; a++) map[arr[a]]++; int count = 0; // Running two nested loops for second & third element for (int b = 0; b < size; b++){ for (int c = 0; c < size; c++){ if (b == c) continue; // Decreasing the count map[arr[b]]--; map[arr[c]]--; // Finding the first element using common difference int first = arr[b] - (arr[c] - arr[b]); // Finding the fourth element using GP int fourth = (arr[c] * arr[c]) / arr[b]; if ((arr[c] * arr[c]) % arr[b] == 0){ // Increment count if not equal if (arr[b] != arr[c]) count += map[first] * map[fourth]; else count += map[first] * (map[fourth] - 1); } map[arr[b]]++; map[arr[c]]++; } } cout <<"Number of quadruples: " << count; return 0; }
Output
Number of quadruples: 2
위 코드 설명
이 코드에서는 두 번째와 세 번째 요소에 대해 두 개의 중첩 루프를 사용하고 arr[a] – (arr[c]를 사용하여 조합론을 사용합니다. 첫 번째 요소인 arr[b])와 네 번째 요소인 arr[c] * arr[c] / arr[b]를 찾습니다. 따라서 두 번째와 세 번째 요소를 고정시켜 A와 B에 의해 인덱싱된 쿼터니언의 수는 첫 번째 숫자 * 네 번째 숫자의 개수가 됩니다. 위 코드의 시간 복잡도는 O(n2)입니다.
결론
이 기사에서는 처음 세 항이 AP에 있고 마지막 세 항이 GP에 있는 쿼터니언을 찾는 문제를 해결했습니다. Bruteforce [ O(n4) ] 및 효율적인 방법 [ O (n2)을 사용하여 논의했습니다. ) ] 이 문제를 해결하는 방법은 두 가지입니다.
우리는 C++를 사용하여 이 문제를 해결했습니다. 이는 Java, Python, C 또는 기타 프로그래밍 언어와 같은 다양한 다른 언어로도 해결될 수 있습니다.
위 내용은 C++로 작성하여 처음 세 항이 등차수열이고 마지막 세 항이 등비수열인 사중항의 수를 구합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











우리 모두는 2, 3, 5, 7, 8 등과 같이 어떤 숫자의 제곱도 아닌 숫자를 알고 있습니다. N개의 정사각형이 아닌 숫자가 있으며 모든 숫자를 아는 것은 불가능합니다. 그래서 이 글에서는 제곱이 없는 숫자나 제곱이 아닌 숫자에 대한 모든 것과 C++에서 N번째 제곱이 아닌 숫자를 찾는 방법을 설명할 것입니다. N번째 비제곱수 어떤 숫자가 정수의 제곱인 경우, 그 숫자를 완전제곱수라고 합니다. 완전제곱수의 몇 가지 예는 다음과 같습니다. -1issquareof14issquareof29issquareof316issquareof425issquareof5 숫자가 정수의 제곱이 아닌 경우 해당 숫자를 제곱이 아닌 숫자라고 합니다. 예를 들어, 처음 15개의 정사각형이 아닌 숫자는 -2,3,5,6입니다.

이 기사에서는 주어진 배열을 k 요소만큼 오른쪽으로 회전하는 반전 알고리즘에 대해 알아봅니다(예: −Input:arr[]={4,6,2,6,43,7,3,7}). k= 4 출력:{43,7,3,7,4,6,2,6}설명: 배열의 각 요소를 4개 요소별로 오른쪽으로 회전하면 {43,7,3,7,4,6,2,6}이 됩니다.입력:arr[]= {8 ,5,8,2,1,4,9,3},k=3출력:{4,9,3,8,5,8,2,1} 해결책 찾기

JavaScript에서 산술 시퀀스를 찾는 방법: 1. js 샘플 파일을 만듭니다. 2. "function print1(start, value, endKey) {...}"를 통해 print1 함수를 정의합니다. 3. "for (let i = 0 ; i < endKey; i++) {arr.push(start + (i * value));}" 산술 시퀀스의 계산 논리를 구현하면 됩니다.

원은 닫힌 그림입니다. 원의 모든 점은 원 내부의 점에서 등거리에 있습니다. 중심점을 원의 중심이라고 합니다. 한 점에서 원의 중심까지의 거리를 반지름이라고 합니다. 면적은 닫힌 그림의 크기 범위를 정량적으로 표현한 것입니다. 원의 면적은 원의 치수 내에 둘러싸인 면적입니다. 원의 면적을 계산하는 공식, Area=π*r*r 면적을 계산하기 위해 원의 반경을 입력으로 주고 공식을 사용하여 면적을 계산합니다. 알고리즘 STEP1: Takeradiusasinputfromtheuserusingstdinput.STEP2 : 원의 면적을 계산합니다. 면적=(

산술수열(AP)은 연속된 두 항의 차이가 동일한 수열입니다. 차이는 첫 번째 항에서 두 번째 항을 빼서 계산됩니다. 5,7,9,11,13,15,...라는 예제 시퀀스를 사용하여 AP를 이해해 보겠습니다. 이 산술 계열의 허용오차(d)는 2입니다. 이는 각 후속 요소가 이전 요소와 2만큼 다르다는 것을 의미합니다. 이 시퀀스의 첫 번째 항목(a)은 5입니다. n 번째 항을 찾는 일반 공식은 a{n}=a+(n-1)(d)입니다. 이 문제에서 우리는 AP가 주어지고 일련의 교대로 부호 있는 제곱의 합을 구해야 합니다. 이 계열은 다음과 같습니다. 아래와 같이 a12-a22+a32-a42+a52+... 보다 명확한 이해를 위해 예를 들어보겠습니다.

이 기사에서는 처음 3개 항에 대해 A.P.를 사용하고 마지막 3개 항에 대해 G.P.를 사용하여 쿼터니언을 찾는 가능한 모든 방법을 설명합니다. 먼저, 산술수열(A.P.)과 기하수열(G.P.)의 기본 정의를 설명하겠습니다. Arithmetic Progression(A.P.) - 공차(d)가 동일하거나 일정한 수열입니다. 즉, 연속된 두 수의 차이가 일정하다는 의미입니다. 예: 1,3,5,7,9|d=2 기하학적 진행(G.P.) - 이는 공통 비율(r)이 동일한 일련의 숫자입니다. 즉, 이전 숫자에 고정된 숫자를 곱할 수 있음을 의미합니다. 숫자. 예: 3, 6, 12, 24, ....|r=2 이 문제에서는 N개의 정수로 구성된 arr[] 배열에 몇 개가 있는지 확인해야 합니다.

이번 글에서는 C++를 이용하여 최대값과 최소값이 같은 부분배열의 개수를 찾는 문제를 해결해보겠습니다. 다음은 문제의 예입니다. −Input:array={2,3,6,6,2,4,4,4}Output:12Explanation:{2},{3},{6},{6}, {2 },{4},{4},{4},{6,6},{4,4},{4,4}및{4,4,4}는 동일한 최대 및 최소 요소로 구성할 수 있는 하위 배열입니다.입력:배열={3, 3, 1,5,

C++의 배열 구문에서 여러 개의 고유한 쌍을 생성하려면 적절한 지식이 필요합니다. 고유 쌍의 수를 찾는 동안 주어진 배열의 모든 고유 쌍을 계산합니다. 즉, 각 쌍이 고유해야 하는 모든 가능한 쌍이 형성될 수 있습니다. 예를 들어 -Input:array[]={5,5,9}Output:4Explanation:Thenumberoffalluniquepairsare(5,5),(5,9),(9,5)and(9,9).Input:array[] = {5,4,3,2,2} 출력: 해결 방법을 찾는 16가지 방법 이 문제를 해결하는 방법에는 두 가지가 있습니다.
