C++でA[i]
3つの配列A[]、B []、C[]が与えられます。目標は、A [i]
例を挙げて理解しましょう。
入力 −
A[]={1,4,5 } B = { 0,2,3 } C = { 0,6,7 }
出力 −トリプレットの数− 4
説明 −
Triplets such that A[i]<B[j]<C[k]
(1,2,6) , (1,2,7) , (1,3,6) , (1,3,7). Total 4 triplets.
入力
A[]={7,8,9} B = { 4,5,6 } C = { 1,2,3 }
出力 −トリプレットの数:0
説明 −
No Triplets that satisfy A[i]<B[j]<C[k]
を満たすトリプレットはありません 以下のプログラムで使用されているアプローチは次のとおりです
-
乱数で初期化された同じ長さの整数配列A[]、B []、C[]を使用します。
-
変数Nを取り、それらの長さを格納します。
-
関数countTriplets(int a []、int b []、int c []、int n)は、同じ長さnの3つの配列すべてを入力として受け取り、指定された条件を満たすトリプレットを返します。
-
アレイごとに3つのループを使用してトラバースします。
-
最も外側のループはa[]の場合は0<=i
-
a [i]
-
すべてのループの終わりに、カウントにはa [i] のようなトリプレットがあります。
-
結果としてカウントを返します。
例
#include <bits/stdc++.h>
using namespace std;
int countTriplets(int a[],int b[],int c[], int n){
int count = 0;
for (int i = 0; i < n; i++){
for (int j = 0; j < n; j++){
for (int k = 0; k < n; k++){
if(a[i]<b[j] && b[j]<c[k])
{ count++; }
}
}
}
return count;
}
int main(){
int A[]={ 1,2,3}; int B[]={ 2,3,2}; int C[]={ 4,3,1};
int N=3; //length of array
cout <<endl<< "Number of triplets : "<<countTriplets(A,B,C,N);
return 0;
}
出力
上記のコードを実行すると、次の出力が生成されます-
Number of triplets : 6
-
(A [i]%K)がC++で最大になるような配列で素数Kを見つけます
n個の整数を持つ配列Aがあるとします。 Kが素数であるような1つの要素Kを見つける必要があり、A [i] mod Kは、Kのすべての可能な値の中ですべての有効なiに対して最大です。そのような数が見つからない場合は、-1を返します。たとえば、A =[2、10、15、7、6、8、13]の場合、出力は13になります。3つの素数2、7、および13があります。A[i]の可能な最大値mod 2は1(15 mod 2)、7の場合は6 mod 7 =6、13の場合は10 mod 13=10になります。これが最大値です。 A [i] mod Kの値を最大化するには、KはAの最大素数である必要があり、A [i]
-
C++で数値を除算する数値の桁数を検索します
番号が与えられていると仮定します。数を均等に分割する数の桁数を数える必要があります。数値が1012で、結果が3であるとします。1012を均等に分割する3桁の1、1、および2があります。 これを解決するために、モジュラス演算を使用して数値の各桁を見つけ、数値がその桁で割り切れるかどうかを確認します。割り切れる場合は、カウンターを増やします。数字が0の場合は、その数字を無視します。 例 #include<iostream>
using namespace std;
int countDivDigit(int num) {
int c
3つの配列A[]、B []、C[]が与えられます。目標は、A [i]
例を挙げて理解しましょう。
入力 −
A[]={1,4,5 } B = { 0,2,3 } C = { 0,6,7 }
出力 −トリプレットの数− 4
説明 −
Triplets such that A[i]<B[j]<C[k] (1,2,6) , (1,2,7) , (1,3,6) , (1,3,7). Total 4 triplets.
入力
A[]={7,8,9} B = { 4,5,6 } C = { 1,2,3 }
出力 −トリプレットの数:0
説明 −
No Triplets that satisfy A[i]<B[j]<C[k]を満たすトリプレットはありません
以下のプログラムで使用されているアプローチは次のとおりです
-
乱数で初期化された同じ長さの整数配列A[]、B []、C[]を使用します。
-
変数Nを取り、それらの長さを格納します。
-
関数countTriplets(int a []、int b []、int c []、int n)は、同じ長さnの3つの配列すべてを入力として受け取り、指定された条件を満たすトリプレットを返します。
-
アレイごとに3つのループを使用してトラバースします。
-
最も外側のループはa[]の場合は0<=i
-
a [i]
-
すべてのループの終わりに、カウントにはa [i] のようなトリプレットがあります。
-
結果としてカウントを返します。
例
#include <bits/stdc++.h> using namespace std; int countTriplets(int a[],int b[],int c[], int n){ int count = 0; for (int i = 0; i < n; i++){ for (int j = 0; j < n; j++){ for (int k = 0; k < n; k++){ if(a[i]<b[j] && b[j]<c[k]) { count++; } } } } return count; } int main(){ int A[]={ 1,2,3}; int B[]={ 2,3,2}; int C[]={ 4,3,1}; int N=3; //length of array cout <<endl<< "Number of triplets : "<<countTriplets(A,B,C,N); return 0; }
出力
上記のコードを実行すると、次の出力が生成されます-
Number of triplets : 6
-
(A [i]%K)がC++で最大になるような配列で素数Kを見つけます
n個の整数を持つ配列Aがあるとします。 Kが素数であるような1つの要素Kを見つける必要があり、A [i] mod Kは、Kのすべての可能な値の中ですべての有効なiに対して最大です。そのような数が見つからない場合は、-1を返します。たとえば、A =[2、10、15、7、6、8、13]の場合、出力は13になります。3つの素数2、7、および13があります。A[i]の可能な最大値mod 2は1(15 mod 2)、7の場合は6 mod 7 =6、13の場合は10 mod 13=10になります。これが最大値です。 A [i] mod Kの値を最大化するには、KはAの最大素数である必要があり、A [i]
-
C++で数値を除算する数値の桁数を検索します
番号が与えられていると仮定します。数を均等に分割する数の桁数を数える必要があります。数値が1012で、結果が3であるとします。1012を均等に分割する3桁の1、1、および2があります。 これを解決するために、モジュラス演算を使用して数値の各桁を見つけ、数値がその桁で割り切れるかどうかを確認します。割り切れる場合は、カウンターを増やします。数字が0の場合は、その数字を無視します。 例 #include<iostream> using namespace std; int countDivDigit(int num) { int c