目次
Algorithm
Example
出力
ホームページ バックエンド開発 C++ C/C++ でモジュラー方程式を解くプログラムを作成しますか?

C/C++ でモジュラー方程式を解くプログラムを作成しますか?

Sep 12, 2023 pm 02:21 PM
c/c++ モジュラー方程式 解決する

C/C++ でモジュラー方程式を解くプログラムを作成しますか?

ここでは、モジュラー方程式に関連した興味深い問題を見ていきます。 A と B という 2 つの値があるとします。 (A mod X) = B が成り立つように、変数 X が取り得る値の数を見つけなければなりません。

A が 26、B が 2 だとします。したがって、X の推奨値は {3, 4, 6, 8, 12, 24} となり、カウントは 6 になります。これが答えです。よりよく理解するためにアルゴリズムを見てみましょう。

Algorithm

possibleWayCount(a, b) −

begin
   if a = b, then there are infinite solutions
   if a < b, then there are no solutions
   otherwise div_count := find_div(a, b)
   return div_count
end
ログイン後にコピー

find_div(a, b) -

begin
   n := a &ndash; b
   div_count := 0
   for i in range 1 to square root of n, do
      if n mode i is 0, then
         if i > b, then
            increase div_count by 1
         end if
         if n / i is not same as i and (n / i) > b, then
            increase div_count by 1
         end if
      end if
   done
end
ログイン後にコピー

Example

の中国語訳は次のとおりです。 :

#include <iostream>
#include <cmath>
using namespace std;
int findDivisors(int A, int B) {
   int N = (A - B);
   int div_count = 0;
   for (int i = 1; i <= sqrt(N); i++) {
      if ((N % i) == 0) {
         if (i > B)
            div_count++;
         if ((N / i) != i && (N / i) > B) //ignore if it is already counted
            div_count++;
      }
   }
   return div_count;
}
int possibleWayCount(int A, int B) {
   if (A == B) //if they are same, there are infinity solutions
      return -1;
   if (A < B) //if A < B, then there are two possible solutions
      return 0;
   int div_count = 0;
   div_count = findDivisors(A, B);
   return div_count;
}
void possibleWay(int A, int B) {
   int sol = possibleWayCount(A, B);
   if (sol == -1)
      cout << "For A: " << A << " and B: " << B << ", X can take infinite values greater than " << A;
   else
      cout << "For A: " << A << " and B: " << B << ", X can take " << sol << " values";
}
int main() {
   int A = 26, B = 2;
   possibleWay(A, B);
}
ログイン後にコピー

出力

For A: 26 and B: 2, X can take 6 values
ログイン後にコピー

以上がC/C++ でモジュラー方程式を解くプログラムを作成しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Python で最小公倍数を見つけるアルゴリズムを作成するにはどうすればよいですか? Python で最小公倍数を見つけるアルゴリズムを作成するにはどうすればよいですか? Sep 19, 2023 am 11:25 AM

Python で最小公倍数を見つけるアルゴリズムを作成するにはどうすればよいですか?最小公倍数は、2 つの数値を割り算できる最小の整数です。数学では、最小公倍数を解くことは基本的な数学的タスクであり、コンピューター プログラミングでは、Python を使用して最小公倍数を解くアルゴリズムを作成できます。以下では、基本的な最小公倍数アルゴリズムを紹介し、具体的なコード例を示します。最小公倍数の数学的定義は次のとおりです。 a が n で割り切れ、b が n で割り切れる場合、n は a と b の最小公倍数です。最低限のことを解決するには

phpとc#の違いは何ですか phpとc#の違いは何ですか Jun 02, 2023 pm 01:45 PM

php と c# の違いは次のとおりです: 1. 言語の型システムが異なります。PHP は動的型ですが、C# は静的型です。 2. 使用されるプラットフォームが異なります。PHP はクロスプラットフォームを実現できますが、C# は Windows 専用です。 3. . プログラミングのパラダイムが異なり、PHP はオブジェクト指向、手続き型、関数型プログラミングをサポートし、C# はオブジェクト指向プログラミングに傾いている; 4. 実行速度が異なり、PHP の方が高速で、C# は比較的遅い; 5.アプリケーションのシナリオは異なります。PHP は Web 開発、サーバーなどに使用されます。C# は Windows デスクトップおよび Web アプリケーションに使用されます。

Clang ツールを使用して C/C++ コード整形ツールを作成する Clang ツールを使用して C/C++ コード整形ツールを作成する Aug 26, 2023 pm 01:09 PM

このチュートリアルでは、helpofclangtools を使用して C/C++ コード形式設定ツールを作成するプログラムについて説明します。SETUPsudoaptinstallpythonsudoaptinstallclang-format-3.5 次に、現在のユーザーが読み取りおよび書き込み権限を持つ場所に Python ファイルを作成します。例 importoscpp_extensions=(".cxx",".cpp&

C/C++ では、構造体の sizeof が各メンバーの sizeof の合計と等しくないのはなぜですか? C/C++ では、構造体の sizeof が各メンバーの sizeof の合計と等しくないのはなぜですか? Aug 26, 2023 am 09:29 AM

sizeof() で取得される構造体型の要素のサイズは、個々のメンバーのサイズと必ずしも同じではありません。コンパイラは、アライメントの問題を回避するためにパディングを追加する場合があります。したがって、寸法が変更される可能性があります。パディングは、構造メンバーの後に大きいサイズのメンバーが続く場合、または構造の最後にある場合に追加されます。コンパイラが異なれば、アライメント制約のタイプも異なります。 C 標準では、全体的なアライメント構造は実装に依存します。ケース 1 この場合、double z の長さは 8 バイトであり、x (4 バイト) よりも大きくなります。したがって、さらに 4 バイトのパディングが追加されます。さらに、short 型データ y にはメモリ内に 2 バイトのスペースがあるため、余分な 6 バイトがパディングとして追加されます。サンプルコード #include<stdio.h>structmyS

vscode 構成 C/C++ 実行環境について詳しく説明した記事 [乳母レベルの指導] vscode 構成 C/C++ 実行環境について詳しく説明した記事 [乳母レベルの指導] Feb 27, 2023 pm 07:33 PM

VScode で C/C++ を開発するにはどうすればよいですか? C/C++環境を構成するにはどうすればよいですか?次の記事では、VScode 構成 C/C++ 実行環境のチュートリアル (乳母レベルの指導) を紹介します。

C/C++ には、前置インクリメントと後置インクリメントの 2 つの操作があります。 C/C++ には、前置インクリメントと後置インクリメントの 2 つの操作があります。 Aug 25, 2023 pm 02:25 PM

ここでは、C または C++ におけるプリインクリメントとポストインクリメントとは何かを見てみましょう。前置インクリメントと後置インクリメントは両方ともインクリメント演算子です。しかし、それらの間にはほとんど違いはありません。前置インクリメント演算子は、まず変数の値をインクリメントしてから、それを他の変数に代入しますが、後置インクリメント演算子の場合は、まず変数に代入してから、値を増分します。例 #include<iostream>usingnamespacestd;main(){ intx,y,z; x=10; y=10;&nb

逆行列を計算する簡単な方法 - Numpy の実装 逆行列を計算する簡単な方法 - Numpy の実装 Jan 24, 2024 am 08:47 AM

Numpy は Python のよく知られた科学計算ライブラリであり、大規模な多次元配列と行列を処理するための豊富な関数と効率的な計算方法を提供します。データ サイエンスと機械学習の世界では、逆行列は一般的なタスクです。この記事では、Numpy ライブラリを使用して逆行列をすばやく解く方法と、具体的なコード例を紹介します。まず、Numpy ライブラリをインストールして Python 環境に導入しましょう。 Numpy は、次のコマンドを使用してターミナルにインストールできます: pipinsta

C/C++ では、strcpy() 関数は、ある文字列を別の文字列にコピーするために使用される関数です。 C/C++ では、strcpy() 関数は、ある文字列を別の文字列にコピーするために使用される関数です。 Sep 09, 2023 am 08:49 AM

関数 strcpy() は標準ライブラリ関数です。ある文字列を別の文字列にコピーするために使用されます。 C 言語では "string.h" ヘッダー ファイルで宣言され、C++ 言語では cstring ヘッダー ファイルで宣言されます。宛先へのポインタを返します。これは、C 言語の strcpy() の構文、char*strcpy(char*dest,constchar*src); strcpy() のいくつかの重要なポイントです。文字列全体をターゲット文字列にコピーします。文字列を追加するのではなく、文字列全体を置き換えます。ソース文字列は変更されません。以下は、C 言語での strcpy() の例です。 Example Online Demo#in

See all articles