差がnである合成数を見つけるためのC++コード
数nがあるとします。 a --b =nとなるように、2つの合成整数(非素数)aとbを見つける必要があります。
したがって、入力がn =512のような場合、出力は4608と4096になります
ステップ
これを解決するには、次の手順に従います-
print 10*n and 9*n.
例
理解を深めるために、次の実装を見てみましょう-
#include<bits/stdc++.h> using namespace std; void solve(int n){ cout<<10*n<<", "<<9*n; } int main(){ int n = 512; solve(n); }
入力
512
出力
5120, 4608
-
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は、すべて
-
合計とGCDがC++で与えられている2つの数値を見つけます
2つの数aとbの合計とgcdがあります。数字aとbの両方を見つける必要があります。それが不可能な場合は、-1を返します。合計が6でgcdが2であるとすると、数値は4と2になります。 このアプローチは、GCDが与えられると、その数がその倍数になることが知られているようなものです。次の手順があります 最初の数値をGCDとして選択すると、2番目の数値はsum − GCDになります。 前の手順で選択した数値の合計が合計と同じである場合は、両方の数値を出力します。 それ以外の場合は、数値が存在しないため、-1を出力します。 例 #include <iostream>