N がストーマー数になるには、式 N^2 1 の最大の素因数が 2*N 以上である必要があります。 正の整数である必要があります。
たとえば、4 はストーマー数です。4*4 1=17 は最大の素因数 17 自体を持ち、これは 8 より大きくなります。つまり 2*4.
しかし、3*3 1=10 であるため、3 は強い数ではありません。10 の最大の素因数は 5 であり、6 (2*3) よりも小さいです。
この問題では、正の整数 N が与えられ、最初の N 個のストーマーを出力することが目標です。
入力: 4
出力: 1 2 4 5
これがストーマーの最初の 4 つの番号です。 3はストーマーナンバーではないので付属しません。
###アルゴリズム###の最大の素因数を見つけて、それを任意の変数に格納します。
. 以上であるかどうかを確認します。
###方法###
剰余が 0 になるまで数値を 2 で割り、2 を primemax に格納します。
この時点では、n は奇数である必要があるため、for ループで反復し、i=3 から n の平方根までの奇数のみを反復します。
ここで、i を primemax に格納し、i が n を除算している間、n を i で除算します。i が n を除算できなかった場合は、n を 2 増やして続行します。
n が 2 より大きい素数の場合、最初の 2 つのステップでは n は 1 にならないため、n を primemax に格納し、primemax を返します。
次の機能は、番号がストーマー番号であるかどうかを確認することです。ストーマー番号である場合は、それを出力します。
最初の N 個のストーマー数を計算するために、変数 temp を 0 として宣言します。
i=1 から開始し、temp が N 未満になる前に for ループの反復を実行します。
(i*i 1) に 2*i 以上の最大の素因数があるかどうかを確認します。上記の条件が真の場合、i を出力し、temp を 1 ずつ増加します。
Example
の中国語訳は次のとおりです:数値の素因数の計算方法も学びました。この記事がこの問題に関するあなたの疑問をすべて解消するのに役立つことを願っています。
以上が嵐の数字の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。