C ++ではXで割り切れるが、Yでは割り切れない1からNの範囲の数値をカウントします。
数値Nが提供されます。目標は、YではなくXで割り切れ、[1、N]の範囲にある数値を見つけることです。
例を挙げて理解しましょう。
入力
N=20 X=5 Y=20
出力
Numbers from 1 to N divisible by X not Y: 2
説明
Only 5 and 15 are divisible by 5 and not 10.
入力
N=20 X=4 Y=7
出力
Numbers from 1 to N divisible by X not Y: 5
説明
Numbers 4, 8, 12, 16 and 20 are divisible by 4 and not 7.
以下のプログラムで使用されているアプローチは次のとおりです
-
整数Nを取ります。
-
関数divisibleXY(int x、int y、int n)は、YではなくXで割り切れる1からNまでの数値のカウントを返します。
-
このような数値の場合、初期変数カウントを0とします。
-
forループを使用して数値の範囲をトラバースします。 i=1からi=n
-
ここで、各数値iについて、真の増分カウントであるかどうか(i%x ==0 &&i%y!=0)を確認します。
-
結果としてカウントを返します。
例
#include <bits/stdc++.h> using namespace std; int divisibleXY(int x, int y, int n){ int count = 0; for (int i = 1; i <= n; i++) { if(i%x==0 && i%y!=0 ) { count++; } } return count; } int main(){ int N = 100; int X=6, Y=8; cout <<"Numbers from 1 to N which are divisible by X and not Y: "<< divisibleXY(X,Y,N); return 0; }
出力
上記のコードを実行すると、次の出力が生成されます-
Numbers from 1 to N which are divisible by X and not Y: 12
-
C++のバイナリ行列で1によってブロックされているすべての0をカウントします
このチュートリアルでは、バイナリ行列で1によってブロックされている0の数を見つけるプログラムについて説明します。 このために、バイナリマトリックスが提供されます。私たちのタスクは、1によってブロックされているマトリックス内のすべての0を見つけてカウントすることです。 例 #include <iostream> using namespace std; #define Row 4 #define Col 5 int r[4] = { 0, 0, 1, -1 }; int c[4] = { 1, -1, 0, 0 }; bool isSafe(int x, int y, int M[
-
C++で3で割り切れるが6で割り切れないnの順列を見つける
数nがあり、この数の順列を見つける必要があるとします。これは3で割り切れますが、6で割り切れません。そのような値を作成できない場合は、-1を返します。たとえば、nが336の場合、出力は363になります。 数字が6で割り切れるということは、3と2で割り切れるということです。したがって、3で割り切れる各偶数は、6で割り切れます。3で割り切れる数の桁を入れ替えると、 、奇妙なことに、それは結果になります。 例 #include<iostream> #include<cmath> using namespace std; int findNumber(int n) { &nb