【简单】算法nodeJs:自守数

107 阅读1分钟

描述

自守数是指这样一个自然数 x,其平方的尾数等于自身。更具体的说,即 x2 的末尾若干位恰好等于 x,例如:
∙ 252=625,625 的末尾两位恰好是 25;
∙ 762=5776,5776 的末尾两位恰好是 76;
∙ 93762=87909376,87909376 的末尾四位恰好是 9376。
现在,对于给定的 n,请统计 0 到 n 之间的自守数个数。

输入描述:

输入一个整数 n(1≦n≦104) 代表自守数的范围。

输出描述:

输出一个整数,代表 0 到 n 之间的自守数个数。

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
    line = parseInt(await readline());
    let arr = [];
    for (let i = 0; i <= line; i++) {
        let sq = Math.pow(i, 2);
        if (sq.toString().endsWith(i)) {
            arr.push(i);
        }
    }
    console.log(arr.length)
})();