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

C++の特定の範囲で「M」で割り切れる数を数えます


A、B、Mの3つの数字が与えられます。AとBは、数字の範囲[A、B]を定義します。目標は、Mで割り切れるAとBの間の数字を数えることです。

i =AからMの最初の倍数まで開始します。i%M=0の場合はカウントを増やします。次に、iをi<=バンド増加カウントまでインクリメントします。

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

入力

A=11,B=20, M=5

出力

Count of numbers divisible by M in given range: 2

説明

15と20は、5で割り切れる数であり、範囲[11,20]にあります。

入力

A=20, B=50, M=11

出力

Count of numbers divisible by M in given range: 3

説明

22,33,44は、11で割り切れ、範囲[20,50]にある数値のみです。

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

  • A、B、Mを整数とします。
  • 関数divisiblebyM(int a、int b、int m)は、A、B、およびMをパラメーターとして受け取り、Mで割り切れるAとBの間の数値の数を返します。
  • 初期カウントを0とします。
  • forループを使用して、i=Aからi=Bまで開始します。 iを1インクリメントします。
  • i%m =0の場合、カウントをインクリメントします。
  • 最後に、mで割り切れるAとBの間の数として数えます。
  • 結果としてカウントを返します。

// Program to count the numbers divisible by
// M in a given range
#include <bits/stdc++.h>
using namespace std;
int divisiblebyM(int a, int b, int m){
   int count = 0;
   // Running a loop from A to B and check
   // if a number is divisible by M.
   for (int i = a; i <= b;i++ ){
      if (i % m == 0){
          count++;
       }
   }
   return count;
}
int main(){
   // A and B define the range, M is the dividend
   int A = 3, B = 15, M = 4;
   cout<<"Numbers divisible by M in given range:"<<divisiblebyM(A, B, M) << endl;
   return 0;
}

出力

Numbers divisible by M in given range:3

  1. C++で指定された長さの合成数の範囲を検索します

    番号nがあるとします。正の整数の範囲を見つける必要があります。範囲内のすべての数値は合成数であり、範囲の長さはnです。複数の範囲がある場合は、任意の1つの範囲を印刷します。合成数は、1とそれ自体以外の約数が少なくとも1つある数です。 範囲の長さがnであるため、最初の数値がaの場合、他の数値はa + 1、a + 2、…、a + n – 1であり、すべて合成数である必要があります。 x!(xは正の整数)を見ると、xの因数は2、3、4、…、p – 1です。したがって、p! + iには係数iがあるので、p! +私は複合でなければなりません。 p! + 2、p! + 3、…p! + p – 1は、すべて

  2. nCrがC++で指定された素数で割り切れるかどうかを調べます

    3つの変数N、R、およびPがあるとします。NとRは、 Nを取得するために使用されます。 C R Pは素数です。 Nかどうかを確認する必要があります C R はPで割り切れる。いくつかの数N=7、R =2、P =3があるとすると、 7 C 2 =21、これは3で割り切れるので、出力はtrueになります。 N C R R! +(N-R)! 例 #include <iostream> using namespace std; int getPower(int n, int p) {    int pow = 0;    w