をXF4(X)
の 10 進数表現の桁数 4 とし、X の 10 進数表現のF7(X)
桁数を 7 とします。たとえば、
F4(456) = 1, F4(444) = 3, F7(1) = 0, F7(747) = 2.
以下のことはどのように解決できますか?
最大を見つける{F4(X) ∙ F7(X) : L ≤ X ≤ R}
1 ≤ L ≤ R ≤ 10^18
これを解決するための最速のアルゴリズムは何ですか?
1. L と R の間のすべての数を見つけて最大積を見つけることで力ずくで試すことができますが、そのようなアプローチは簡単にタイムアウトします。