配列の積を n で割った余りを求める C/C++ プログラム

WBOY
リリース: 2023-08-29 18:37:02
転載
636 人が閲覧しました

C/C++ 程序以找到数组乘积除以 n 的余数

配列の乗算では、指定された配列のすべての要素の積を求めます。次に、問題に従って、積を数値 n で割ります。例を挙げてみましょう。-

Input: arr[] = { 12, 35, 69, 74, 165, 54};
      N = 47
Output: 14
ログイン後にコピー

説明

配列は次のとおりです {12, 35, 69, 74, 165, 54} したがって、積は (12 * 35 * 69 * 74 * 165 * 54) = 19107673200。ここで、47 で割った余りを取得したい場合、結果は 14 になります。

最初にすべての数値を掛けてから、n の % を取り、余りを求めます。ただし、この方法では、数値が最大値の 2^64 に達すると、間違った答えが返されます。

#include <stdio.h>
int main() {
   int arr[] = { 12, 35, 69, 74, 165, 54};
   int len = 6;
   int n = 47 ;
   int mul = 1;
   for (int i = 0; i < len; i++)
      mul = (mul * (arr[i] % n)) % n;
   printf("the remainder is %d", (mul%n));
   return 0;
}
ログイン後にコピー

出力

the remainder is 14
ログイン後にコピー

以上が配列の積を n で割った余りを求める C/C++ プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート