Cの配列内の範囲の積
配列、L、R、Pを入力として指定し、タスクは、モジュロの下の積を出力としてLとRの間の範囲を見つけ、それを表示することです。
図に示されているように、要素の配列と、2としての左の値であるLと2としての右の値であるRがあります。ここで、プログラムはそれらの間の範囲の積を見つける必要があります。
例
Input-: A[] = { 1, 2, 3, 4, 5, 6 } P = 29 L = 2 R = 6 Output-: 24 Input-: A[] = {1, 2, 3, 4, 5, 6}, L = 2 R = 5 P = 113 Output-: 7
以下のプログラムで使用されるアプローチは次のとおりです −
- 整数要素の配列、左の値(L)、右の値(R)、およびP(プライム値)の入力を取得します
- 要素の左の値から右の値へのトラバースを開始します
- 乗算を一時変数に格納し続けます
- プライム値でモジュロ演算を実行し続ける
- 最終結果を印刷する
アルゴリズム
Start Step 1 -> declare function to calculate product int calculateProduct(int A[], int L,int R, int P) declare variable as int i set L = L – 1 set R = R – 1 declare int ans = 1 Loop For i = L and i <= R and i++ Set ans = ans * A[i] Set ans = ans % P End return ans Step 2-> In main() Declare an array as int A[] = { 1, 2, 3, 4, 5, 6 } Declare variable as int P = 29 Declare variable as int L = 2, R = 6 Print A, L, R, P Stop
例
#include <stdio.h> int calculateProduct(int A[], int L,int R, int P) { int i; //Because array starts with 0 and //L R starts from 1. L = L - 1; R = R - 1; int ans = 1; for ( i = L; i <= R; i++) { ans = ans * A[i]; ans = ans % P; } return ans; } int main() { int A[] = { 1, 2, 3, 4, 5, 6 }; int P = 29; int L = 2, R = 6; printf("%d\n", calculateProduct(A, L, R, P)); return 0; }
出力
24
-
配列の積のCプログラム
n個の要素の配列arr[n]が与えられた場合、タスクはその配列のすべての要素の積を見つけることです。 7つの要素の配列arr[7]があるように、その製品は次のようになります 例 Input: arr[] = { 10, 20, 3, 4, 8 } Output: 19200 Explanation: 10 x 20 x 3 x 4 x 8 = 19200 Input: arr[] = { 1, 2, 3, 4, 3, 2, 1 } Output: 144 以下で使用されるアプローチは次のとおりです − 配列入力を取得します。 そのサイズを見つけます。 配列を反復処理し、その配列の
-
アレイが回文であるかどうかをチェックするCプログラム
任意のサイズnの配列arr[]が与えられた場合、私たちのタスクは、配列が回文であるかどうかを確認することです。回文は、MADAM、NAMANなどのように、同じように前後に読み取ることができるシーケンスです。 したがって、配列が回文であるかどうかを確認するために、-のように配列を前後にトラバースできます。 例 Input: arr[] = {1, 0, 0, 1} Output: Array is palindrome Input: arr[] = {1, 2, 3, 4, 5} Output: Array is not palindrome 以下で使用されるアプローチは次のとおりです