C++の配列内の1つの要素を除くすべての除数である整数Xを見つけます
与えられた整数の配列に関して、私たちのタスクは、与えられた配列の1つの要素を除いて、すべての除数である整数Bを決定することです。
すべての要素のGCDが1ではないことに注意してください。
入力
arr[] = {8, 16, 4, 24}
出力
8 8 is the divisor of all except 4.
入力
arr[] = {50, 15, 40, 41}
出力
5 5 is the divisor of all except 41.
メソッド
位置またはインデックスiに1からiまでのすべての要素のGCDが含まれるようにプレフィックス配列Aを作成します。同様の方法で、インデックスiにiからn-1(最後のインデックス)までのすべての要素のGCDが含まれるように接尾辞配列Cを作成します。 A[i-1]とC[i+ 1]のGCDがiの要素の約数でない場合、それが必須の答えであることがわかっています。
例
// C++ program to find the divisor of all // except for exactly one element in an array. #include <bits/stdc++.h> using namespace std; // Shows function that returns the divisor of all // except for exactly one element in an array. int getDivisor1(int a1[], int n1){ // If there's only one element in the array if (n1 == 1) return (a1[0] + 1); int A[n1], C[n1]; // Now creating prefix array of GCD A[0] = a1[0]; for (int i = 1; i < n1; i++) A[i] = __gcd(a1[i], A[i - 1]); // Now creating suffix array of GCD C[n1-1] = a1[n1-1]; for (int i = n1 - 2; i >= 0; i--) C[i] = __gcd(A[i + 1], a1[i]); // Used to iterate through the array for (int i = 0; i <= n1; i++) { // Shows variable to store the divisor int cur1; // now getting the divisor if (i == 0) cur1 = C[i + 1]; else if (i == n1 - 1) cur1 = A[i - 1]; else cur1 = __gcd(A[i - 1], C[i + 1]); // Used to check if it is not a divisor of a[i] if (a1[i] % cur1 != 0) return cur1; } return 0; } // Driver code int main(){ int a1[] = { 50,15,40,41 }; int n1 = sizeof(a1) / sizeof(a1[0]); cout << getDivisor1(a1, n1); return 0; }
出力
5
-
配列の最大要素を見つけるためのC++プログラム
配列には複数の要素が含まれており、配列内の最大の要素は他の要素よりも大きい要素です。 たとえば。 5 1 7 2 4 上記の配列では、7が最大の要素であり、インデックス2にあります。 配列の最大の要素を見つけるプログラムは次のとおりです。 例 #include <iostream> using namespace std; int main() { int a[] = {4, 9, 1, 3, 8}; int largest, i, pos; largest = a[0
-
Pythonの配列内の1つの要素を除くすべての除数である整数Xを見つけます
数値の配列があるとします。与えられた配列の1つの要素を除いて、すべての約数である数Bを見つける必要があります。すべての要素のGCDが1ではないことに注意する必要があります。 したがって、入力が{8、16、4、24}のような場合、これは4を除くすべての除数であるため、出力は8になります。 これを解決するには、次の手順に従います- n:=配列のサイズ nが1と同じ場合、 return(array [0] + 1) プレフィックス:=サイズnの配列、0で埋める 接尾辞:=サイズnの配列で、0で埋めます prefix [0]:=array [0] 1からnの範囲のiについては、