题解 | #自守数#

自守数

https://www.nowcoder.com/practice/88ddd31618f04514ae3a689e83f3ab8e

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void (async function () {
    // Write your code here
    let n;
    while ((line = await readline())) {
        n = parseInt(line);
    }
    let count = 0;
    /* 挨个判断:两个条件
        1、判断i的平方中是否含有i
        2、判断i是否处于i平方的末尾
            --将i和i平方都转化为字符串
            --求得i在i平方中的索引index
            --如果index+i.length==i^2.length,那么这个就是自守数

        **居然有一个方法endsWith()用来判断是否以指定字符串结尾,那更方便了
    */
    //解法1:不知道有endsWith()
    // for (let i = 0; i <= n; i++) {
    //     let ji = (i * i).toString();
    //     if (ji.includes(i)) {
    //         let index = ji.indexOf(i);
    //         if (index + (i + "").length == ji.length) {
    //             count++;
    //         }
    //     }
    // }

    // 解法2:用endsWith()
    for(let i=0;i<=n;i++){
        let ji=i*i+'';
        if(ji.endsWith(i+'')){
            count++
        }
    }
    console.log(count);
})();

全部评论

相关推荐

点赞 评论 收藏
分享
本2硕9,秋招不想努力海投了
小何和:行情再不好也不可能拒绝你,不可能只要双9的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务