• 将100和灯泡编成100个号,即:1……100,现在有100个人去拉开关,第一个人把1的倍数的灯号开关都拉一下,第2个人把2的倍数的灯号都拉一下,直到第100人将100号灯泡拉一下.假定开始时,灯泡全不亮,请问这100人全拉完后,哪些编号的灯泡是亮的?请用编程证明你的方法


    想到之前面试的一道题目,解决这个题,就是看到 其约数为基数个时就是亮的。用JS去实现也很简单,两个for循环可以了。个人的解答方法如下

        let lightArr = []
        // 先循环一遍1到100
        for (let index = 1; index <= 100; index++) {
            let arr = []
            for (let j = 1; j <= index; j++) {
                // 如果index % j等于0则表示j是其index的约数就是往arr里面添加
                if (index % j == 0) arr.push(j)
            }
            // 后面再判断下arr的长度如果是奇数时则最后是亮的
            if (arr.length % 2 !== 0) lightArr.push(index)
        }
        console.log("最后灯泡是亮的lightArr里面的值")

    最后的结果 是[1, 4, 9, 16, 25, 36, 49, 64, 81, 100] 

  • 相关阅读:
    BERT基础知识
    TorchText使用教程
    Pytorch-中文文本分类
    预处理算法_5_数据集划分
    预处理算法_4_表堆叠
    预处理算法_3_新增序列
    预处理算法_2_类型转换
    预处理算法_1_表连接
    爬取网站所有目录文件
    如何将Docker升级到最新版本
  • 原文地址:https://www.cnblogs.com/huzhuhua/p/12175062.html
Copyright © 2020-2023  润新知