説明タイトルは
わずか2、3及び5は醜い数(醜い数)と呼ばれる因子が挙げられるします。それが要因7が含まれているため、例えば6,8は、14醜いではなく、いくつかあります。伝統的に、我々は最初の醜い数として1を持っています。N醜い多数配列を通して上昇を求めます。
入力説明:
Nの整数
出力説明:
醜いのN番目の数
1 N = INT (入力()ストリップ()。) 2 もし N <= 6 : 3 プリント(N) 4 他: 5 I2、I3、I5 = 0、0、0 6 DP = [ 0 ] * N 7 DP [ 0 ] = 1 8 のための I における範囲(1 、N): 9 N2 = DP [I2] * 2 10 N3 = DP [I3] * 3 11 N5 = DP [I5] * 5 12 DP [I] = 分(分(N2、N3)、N5) 13 であれば、DP [I] == N2: 14 I2 + = 1 15 であれば、DP [I] == N3: 16 I3 + = 1 17 であれば、DP [ I] == N5: 18 I5 + = 1枚の 19 プリント(DP [N- 1 ])
オファーの49番目のタイトル勝ち、動的なプログラミングを。(注:図1は、醜いの数です)