0

私の質問は数字の合計に関連しています。

数字和システムでは、数字の合計は39 = 3 + 9=12です。

ただし、私の場合は、ユーザーが12を入力するメソッドを作成します。このメソッドは、39が12の桁の合計を達成するための最小の数値であるため、39を返します。

このパズルを解くための方法/アルゴリズム/式を開発することを学ぶことにもっと興味があるので、これを疑似コードで議論できれば良いでしょう。

キューを使用するためのヒントが与えられました。私も次のことを試しました:

番号%9; number / 9は近いですが、すべての場合に機能するとは限りません。

例は次のとおりです。

12%9 = 3

12/9 = 1; if(ans = 1、return 9)

したがって、3と9は39になります。私は近いことを知っていますが、111のような数字に同じものを使用しようとしましたが、これはもう機能しません。

4

2 に答える 2

3

最小の数値は常に「x9...9999」の形式です。ここで、xは1桁(場合によっては0)です。

あなたがする必要があるのは見つけることだけです:

  • xの値:n % 9
  • 9はいくつありますか:n / 9

111の場合:

  • n % 9は3です。
  • n / 9は12です。

したがって、答えは3999999999999です。

于 2012-10-22T09:28:48.720 に答える
1

n数字の合計が等しい最小の数kは常に次の形式になると思います

i99999

i数字はどこにありますか。

これを使用して、あなたは持っています

i = n % 9
j = floor(n / 9)

i次に、時間を連結して数値を作成します9 j

このためn = 1239

このn = 111利回り3999999999999の場合(912回表示されます)

于 2012-10-22T09:31:20.837 に答える