C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++の範囲内の2つの数値の一般的な倍数の数


AとBの2つの数字が与えられます。また、数字の範囲を定義するためにSTARTとENDの2つの数字が与えられます。 Athタイルは白く塗られ、Bthタイルは黒く塗られています。タイルが黒と白の両方でペイントされている場合は、灰色になります。目標は、灰色のタイルの総数を見つけることです。

これを行うには、STARTからENDまで数値をトラバースし、数値ごとに、数値がAとBの両方の倍数であるかどうかを確認します。はいの場合は、カウントをインクリメントします。

例を挙げて理解しましょう。

入力

START=10 END=20 A=3 B=6

出力

Common multiples of A and B ( grey tiles ): 2

説明

Numbers 12, 18 are multiples of 3 and 6.

入力

START=1 END=100 A=10 B=11

出力

Common multiples of A and B ( grey tiles ): 0

説明

No common multiple of 10 and 11 in range.

以下のプログラムで使用されているアプローチは次のとおりです

  • 整数のSTARTとENDを範囲変数として使用します。

  • AとBを2つの変数とします。

  • 関数countGrey(int start、int end、int a、int b)は、範囲変数a、bを取り、aとbの倍数のカウントを返します。

  • このような数値の場合、初期変数カウントを0とします。

  • forループを使用して数値の範囲をトラバースします。 i=開始から終了

  • i%a ==0 &&i%b==0の場合。その場合、「i」はaとbの両方の倍数になります。

  • すべてのループの最後に、カウントには「a」と「b」の倍数の合計数が含まれます

  • 結果としてカウントを返します。

#include <bits/stdc++.h>
using namespace std;
int countGrey(int start, int end, int a, int b){
   int count = 0;
   for (int i = start; i <= end; i++){
      if(i%a==0 && i%b==0) //tile is grey
         { count++; }
   }
   return count;
}
int main(){
   int START =10, END = 30;
   int A=4, B=3;
   cout <<"Common multiples of A and B ( grey tiles ): "<<
   countGrey(START,END, A, B);
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

Common multiples of A and B ( grey tiles ): 2

  1. C ++では、係数が最小の範囲内のすべての数値をKとしてカウントします。

    このチュートリアルでは、係数がKとして最小の範囲の数値を見つけるプログラムについて説明します。 このために、範囲[a、b]が提供されます。私たちのタスクは、与えられた範囲内で、係数がKとして最小である数を数えることです。 例 #include <bits/stdc++.h> using namespace std; //checking if K is a prime bool if_prime(int k){    if (k <= 1)       return false;    for (int

  2. 2つの数の最大公約数のためのC++プログラム?

    ここでは、2つの数の最大公約数を取得する方法を説明します。すべての公約数を見つけるわけではありませんが、そこにある公約数を数えます。 2つの数値が12と24のようである場合、最大公約数は1、2、3、4、6、12です。したがって、6つの公約数があるため、答えは6になります。 アルゴリズム countCommonDivisor(a、b) begin    count := 0    gcd := gcd of a and b    for i := 1 to square root of gcd, do     &n