4 回答
已采納

千秋此意
TA貢獻158條經驗 獲得超188個贊
function?isSymmetrically(number)?{ ????return?number?>=?10?&&?number.toString().split('').reverse().join('')?===?number.toString(); } function?isSymmetrically(number)?{ ????return?number?>=?10?&&?Number((function(s)?{?//?此處由于非尾遞歸性能可能稍微有所降低~ ????????return?!s.length???''?:?arguments.callee(s.slice(1))?+?s[0]; ????})(number.toString()))?===?number; }
其實就何樓上說的差不多,主要就是數字反轉之后和原數字相等就行了(同時排除10以下數字),循環的方法樓上都有幾種了,我這里寫了一個數組方法反轉一個遞歸調用反轉的方法~

qq_馳兮_0
TA貢獻4條經驗 獲得超3個贊
//方法1 ????????for(var?i=1;i<10;i++){ ????????????for(var?j=1;j<10;j++){ ????????????????if(i==j){ ????????????????????console.log(i*10+j); ????????????????} ????????????} ????????} ????????for(var?i=1;i<10;i++){ ????????????for(var?j=0;j<10;j++){ ????????????????for(var?z=0;z<10;z++){ ????????????????????if(i==z){ ????????????????????????console.log(i*100+j*10+z); ????????????????????} ????????????????} ????????????} ????????} ????????//方法二 ????????for(var?i=1;i<=1000;i++){ ????????????if(check(i)){ ????????????????console.log(i); ????????????} ????????} ????????function?check(i){ ????????????var?arr=i.toString().split(''); ????????????if(arr[0]==arr[arr.length-1]&&arr.length>1){ ????????????????return?true; ????????????}else{ ????????????????return?false; ????????????} ????????}

ruibin
TA貢獻358條經驗 獲得超213個贊
很簡單。主要是要分類。第一是10~99.十位數和個位數相同就對稱了。十位數怎么獲取parseInt(str/10);個位數怎么獲取 str%10然后等于個位數就取出來。
第二是100到999.主要是獲取百位數和個位數相等就行。百位數怎么獲?。簆arseInt(str/100),個位數怎么獲取(str%10)。思路已經告訴你了,具體還得自己動手!很多時候,多動手才能學好編程~

ziom
TA貢獻948條經驗 獲得超1109個贊
<script?type="text/javascript"> ????????/*?方法一?*/ ????????//?檢查num是否是對稱數 ????????function?checkNum(num)?{ ????????????num?=?String(num); ????????????var?length?=?num.length; ????????????if?(length?<?2)?return?false; ????????????for?(var?i?=?0;?i?<?Math.floor(length/2);?i++)?{ ????????????????if?(num.charAt(i)?!=?num.charAt(length-1-i))?{ ????????????????????return?false; ????????????????} ????????????} ????????????return?true; ????????} ????????for?(var?i?=?1;?i?<=?1000;?i++)?{ ????????????if?(checkNum(i))?{ ????????????????console.log(i); ????????????} ????????} ????????/*?方法二?*/ ????????//?傳入兩個區間值,打印出兩數之間的所有對稱數 ????????function?printTC(num0,?num1)?{ ????????????//?這種方式有點復雜,想半天下不了手,我放棄了。。。 ????????} ????</script>

高jay
TA貢獻96條經驗 獲得超122個贊
1000以內的就簡單了,首先就用純全算法思路,循環1000,if(i<100)i除以10向下取整如果等于i除以10的余數輸出i i>100就改成i除以100向下取整跟除以10的余數相等輸出i。第二種就是字符串思路,小于100字符串切割前兩位相等輸出,大于100第一位跟第三位相等輸出。
添加回答
舉報
0/150
提交
取消