丑数是指质因数只有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)