C 언어에서 값의 합과 인덱스의 최대 절대 차이
Aug 25, 2023 pm 08:25 PM우리는 정수 배열을 얻습니다. 이 작업은 값과 지수의 합 사이의 최대 절대 차이를 계산하는 것입니다. 즉, 배열의 각 인덱스 쌍(i,j)에 대해 Arr[i] - A[j] | Arr[i] - A[j] | ] | Arr[i] - A[j] + |i-j| 그리고 가능한 최대 합을 구합니다. 여기서 |A|는 A의 절대값을 나타냅니다. 배열에 4개의 요소가 있는 경우 인덱스는 0,1,2,3이고 고유 쌍은 ( (0,0), (1,1), (2,2), (3,3) , (0 , 1), (0,2), (0,3), (1,2), (1,3), (2,3) ).
Input − Arr[] = { 1,2,4,5 }
Output − 값과 인덱스 합계 간의 최대 절대 차이 − 7
Interpretation - 인덱스 쌍의 합계 A[i ]- A[j] | A[i]-A[j] + |i-j | 다음과 같이
1. (0,0), (1,1), (2,2), (3,3)--------- |i-j| for each is 0. 2. (0,1)---------- |1-2| + |0-1|= 1+1 = 2 3. (0,2)---------- |1-4| + |0-2|= 3+2 = 5 4. (0,3)---------- |1-5| + |0-3|= 4+3 = 7 5. (1,2)---------- |2-4| + |1-2|= 2+1 = 3 6. (1,3)---------- |2-5| + |1-3|= 3+2 = 5 7. (2,3)---------- |4-5| + |2-3|= 1+1 = 2 Maximum value of such a sum is 7.
input − Arr[] = { 10,20,21 }
output − 값과 index − 13
Explanation − 인덱스 쌍 sum |A[i]-A[j] |
- 정수 배열 Arr[]
- 을 사용합니다. maxabsDiff(int arr[],int n) 함수는 값과 인덱스 합계의 최대 절대 차이를 계산하는 데 사용됩니다.
- 변수 결과를 -1로 초기화합니다.
- for 루프에서 배열의 시작 부분부터 정수 배열을 탐색합니다.
- 중첩된 for 루프의 나머지 요소를 탐색하고 요소 값과 인덱스 i, j(abs(arr[i] - arr[j]) + abs(i - j))의 절대합을 계산합니다. 변수 absDiff에 저장합니다.
- 새로 계산된 합계가 이전 합계보다 크면 'result'에 저장하세요.
- 전체 배열을 반복한 후 결과를 반환합니다.
- Example
Demonstration
1. (0,0), (1,1), (2,2)--------- |i-j| for each is 0. 2. (0,1)---------- |10-20| + |0-1|= 10+1 = 11 3. (0,2)---------- |10-21| + |0-2|= 11+2 = 13 4. (1,2)---------- |20-21| + |1-2|= 1+1 = 2 Maximum value of such a sum is 13.
Output
위 코드를 실행하면 다음과 같은 출력이 생성됩니다. -
#include <stdio.h> #include <math.h> // Function to return maximum absolute difference int maxabsDiff(int arr[], int n){ int result = 0; for (int i = 0; i < n; i++) { for (int j = i; j < n; j++) { int absDiff= abs(arr[i] - arr[j]) + abs(i - j); if (absDiff > result) result = absDiff; } } return result; } int main(){ int Arr[] = {1,2,4,1,3,4,2,5,6,5}; printf("Maximum absolute difference of value and index sums: %d", maxabsDiff(Arr,10)); return 0; }
위 내용은 C 언어에서 값의 합과 인덱스의 최대 절대 차이의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

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

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

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

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

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

뜨거운 주제











C 언어 함수에 의해 반환 된 값 유형은 무엇입니까? 반환 값을 결정하는 것은 무엇입니까?

STL (정렬, 찾기, 변환 등)의 알고리즘을 효율적으로 사용하려면 어떻게합니까?
