JS实现找第n个丑数(动态规划)

来源:互联网 发布:java运行环境官方下载 编辑:程序博客网 时间:2024/05/21 13:23

丑数是指质因数只有2,3,5,特殊的,1也是质因数,昨天在中国结算遇到了这道题,但是没有做出来,直到看了思想才明白,今天自己写了一遍,也算是提醒.

编程语言:JavaScript


function choushu(num){    var arr = [1];    var T2 = 0, T3 = 0,T5 = 0;    var temp2 = 0, temp3 = 0, temp5 = 0;    var nextone=0;    console.log("第1个丑数是 "+arr[arr.length-1]);    while(arr.length<num){        temp2 = arr[T2]*2;        temp3 = arr[T3]*3;        temp5 = arr[T5]*5;        nextone = min(temp2,temp3,temp5);        arr.push(nextone);        console.log("第"+arr.length+"个丑数是 "+arr[arr.length-1]);        if(nextone>=temp2){T2++;}        if(nextone>=temp3){T3++;}        if(nextone>=temp5){T5++;}    }}function min(num1,num2,num3) {    return num1<num2?(num1<num3?num1:num3):(num2<num3?num2:num3);}choushu(100)

原创粉丝点击