日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

codewars--js--Hamming Numbers

發(fā)布時(shí)間:2025/5/22 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 codewars--js--Hamming Numbers 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

問(wèn)題描述:

A?Hamming number?is a positive integer of the form 2i3j5k, for some non-negative integers?i,?j, and?k.

Write a function that computes the?nth smallest Hamming number.

Specifically:

  • The first smallest Hamming number is 1 = 203050
  • The second smallest Hamming number is 2 = 213050
  • The third smallest Hamming number is 3 = 203150
  • The fourth smallest Hamming number is 4 = 223050
  • The fifth smallest Hamming number is 5 = 203051

The 20 smallest Hamming numbers are given in example test fixture.

Your code should be able to compute all of the smallest 5,000 (Clojure: 2000) Hamming numbers without timing out.

我的思路:

本題自己是沒有任何思路的,只是知道漢明數(shù)肯定是2或3或5的倍數(shù),但是無(wú)從下手。后來(lái)看別人的答案,主要思路也是如此。

下一個(gè)漢明數(shù)為已存在漢明數(shù)的2x,3x,5x的倍數(shù)。

若i2是我們沒有用過(guò)的漢明數(shù)的指數(shù)的話,就乘以2;

若i3是我們沒有用過(guò)的漢明數(shù)的指數(shù)的話,就乘以3;

若i5是我們沒有用過(guò)的漢明數(shù)的指數(shù)的話,就乘以5。

我的答案:無(wú),o(╥﹏╥)o

優(yōu)秀答案:

(1)

function hamming (n) {var seq = [1];var i2 = 0, i3 = 0, i5 = 0;for (var i = 1; i < n; i++) {var x = Math.min(2 * seq[i2], 3 * seq[i3], 5 * seq[i5]);seq.push(x);if (2 * seq[i2] <= x) i2++; //<= 可換成 ==if (3 * seq[i3] <= x) i3++;if (5 * seq[i5] <= x) i5++;}return seq[n-1]; }

?

哈哈哈!

轉(zhuǎn)載于:https://www.cnblogs.com/hiluna/p/8916419.html

總結(jié)

以上是生活随笔為你收集整理的codewars--js--Hamming Numbers的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。