3

データ構造を使用して次の問題を解決するにはどうすればよいですか?

3^i * 5^J * 7^k ここで、i、j、k >=0。この数列で 10,000 番目に小さい数を見つけます。

次の方法でセットを使用して解決しましたが、これは効率的な解決策ではないと感じています。

  • 初期セットは (1)
  • セットの各要素に 3、5、7 の数字を掛けて、次のセットを取得します。
  • 前のセットと和集合を取ります。
  • セットのサイズが 10,000 以上の場合、乗算のプロセスを停止し、セットを昇順に並べ替えます。
  • セットの 10,000 番目の要素は、10,000 番目に小さい数になります。

この問題をより効率的に解決できる他のデータ構造はありますか?

4

0 に答える 0