「已注销」 2021-10-05 03:15 采纳率: 57.1%
浏览 50
已结题

js的计算题,需要用基础的for循环和分支语句来做

一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

  • 写回答

1条回答 默认 最新

  • 小公鸡卡哇伊呀~ 2021-10-05 04:39
    关注

    用这个函数,位数长度不限:

    const isPalindrome = (num) => {
      const str = String(num);
      const len = str.length;
      const mid = Math.floor(len / 2);
      for (let i = 0; i < mid; i++) {
        if (str[i] !== str[len - i - 1]) return false;
      }
      return true;
    };
    const num = 12321;
    console.log(`${num} is a palindrome number: ${isPalindrome(num)}`);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    「已注销」 2021-10-05 07:33

    这个看起来挺简单的,但是我是初学者,这样我还是不懂ᥬ😂᭄

    回复
    小公鸡卡哇伊呀~ 回复 「已注销」 2021-10-05 07:55

    因为数字读取个位数十位数等比较麻烦,处理字符串相对简单, const str = String(num); 先将数字转换成字符串。然后判断字符串,例如 str="abcdef", 第1位字符是否与最后一位相同,第1位是否与倒数第2位相同,依次类推,即判断 str[0] 是否等于 str[5] 等等, 5/2=2.5, Math.floor向下取整。 任何一次比较不等,就是非回文,立即返回false。
    code不是非得这样写,还有别的写法。

    回复
编辑
预览

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月9日
  • 已采纳回答 10月6日
  • 创建了问题 10月5日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部