この問題では、1 の数を最小単位で出力するだけです。
reunit は、カジュアルな数学における 11、111、または 1111 のような、数字 1 だけを含む正の数です。再会の形式は $\mathrm{(10*n-1)/9}$
です ###例###$\mathrm{(10*100-1)/9}$ は
111 を与えます。$\mathrm{(10*1000-1)/9}$ は
1111 を与えます。上記の質問は、単位番号が 3 である任意の正の整数 N が与えられ、与えられた数 N で割り切れる最小単位を決定する必要があることを示しています。
###例えば、###N=13 とすると。
出力: 6N、つまり 111111 は 8547 を得る 13 の完全約数です。 111111 は、13 で割り切れる重さの最小単位です。したがって、最小重み単位の 1 の数は 6 となり、目的の出力が得られます。
###アルゴリズム###繰り返しの数が 1、11、111、1111 などであることがわかっているからです。 x の後の再結合は、$\mathrm{(x*10 1)}$ として定義できます。
このアルゴリズムは、整数 N が剰余 rem を残す場合、再結合の剰余は常に $\mathrm{(rem*10 1)\%N}$ になるという概念にのみ基づいています。
以下はアルゴリズムの段階的な説明です -
ステップ 1-
ステップ 2
剰余が 0 になるまで while ループを使用します。 ステップ 3 p>
各ステップで、残りを更新し、itr 1 を増やします。 ステップ 4
剰余が 0 に等しくなったら、itr を返します。 このアプローチを N=13 で試してみましょう。 while ループの前に剰余と itr を 1 として宣言しているためです。 ###今、###
最初の反復では、剰余は (remainder*10 1)%N、つまり 11 になります。 剰余 = 11 および itr = 2。 余りが 0 になるまで同じアルゴリズムに従います。
反復 2 では、剰余=7 および itr=3
反復 3 では、剰余 =6 および itr=4
反復 4 では、剰余 =9 および itr=5
反復 5 では、剰余 = 0 および itr = 6 です。
余りが 0 になるので、目的の出力である 6 である itr を返します。
###方法###23 で割り切れる繰り返し単位の最小数は 22 個になります。
###結論は###以上が繰り返される数値内の 1 の最小数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。