在本教程中,我们将讨论通过添加元素将给定数组转换为算术级数的程序。
为此,我们将提供一个数组。我们的任务是通过向其添加单个元素并将给定的元素返回,将给定数组转换为算术级数。如果不可能,则返回-1。
#include<bits/stdc++.h> using namespace std; //returning the number to be added int print_number(int arr[], int n){ sort(arr,arr+n); int d = arr[1] - arr[0]; int numToAdd = -1; bool numAdded = false; for (int i = 2; i < n; i++) { int diff = arr[i] - arr[i - 1]; if (diff != d) { if (numAdded) return -1; if (diff == 2 * d) { numToAdd = arr[i] - d; //if number has been added numAdded = true; } //if not possible else return -1; } } //returning last element + //common difference if (numToAdd == -1) return (arr[n - 1] + d); //else return the chosen number return numToAdd; } int main() { int arr[] = { 1, 3, 5, 7, 11, 13, 15 }; int n = sizeof(arr)/sizeof(arr[0]); cout << print_number(arr, n); }
9