亮着电灯的盏数
描述: |
一条长廊里依次装有n(1 ≤ n ≤ 65535)盏电灯,从头到尾编号1、2、3、…n-1、n。每盏电灯由一个拉线开关控制。开始,电灯全部关着。
有 n个学生从长廊穿过。第一个学生把号码凡是1的倍数的电灯的开关拉一下;接着第二个学生把号码凡是2的倍数的电灯的开关拉一下;接着第三个学生把号码凡是 3的倍数的电灯的开关拉一下;如此继续下去,最后第n个学生把号码凡是n的倍数的电灯的开关拉一下。n个学生按此规定走完后,长廊里电灯有几盏亮着。
注:电灯数和学生数一致。
|
运行时间限制: |
无限制 |
内存限制: |
无限制 |
输入: |
电灯的数量
|
输出: |
亮着的电灯数量
|
样例输入: |
3
|
样例输出: |
1
|
思路分析:
直接模拟场景即可,相对于第一道题目,这道题思路更为直接。
package com.liuhao;
import java.util.Scanner;
/**
* @author liuhao
*/
public class Test2 {
public static void main(String[] args) {
//存放最后亮着的灯的数量
int sum = 0;
//获得标准输入
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
boolean[] booArr = new boolean[n];
//按每个学生对n个灯依次遍历
for(int stu=1; stu<=booArr.length; stu++){
for(int i=1; i<=booArr.length; i++){
if( i%stu == 0){
booArr[i-1] = !booArr[i-1];
}
}
}
//统计最后亮着的灯数目
for(int i=0; i<booArr.length; i++){
if(booArr[i] == true){
sum++;
}
}
System.out.println(sum);
}
}
分享到:
相关推荐
NULL 博文链接:https://hoxis.iteye.com/blog/2034237
华为机考一本通-2024
华为机考试题+答案参照.pdf
华为机考练习试题汇总
华为机考-软件测试试题
华为机考试题+答案.docx
华为_2020年数字IC笔试和2022年逻辑机考,FPGA,数字IC,逻辑岗刷题必备
华为校招硬件技术工程师机考试卷试题包括答案.docx
华为OD机考-统一考试机试-含ABCD卷-含java、c++、JavaScript、python-题目截止到2023年年底
一、内容概要:本文档从华为OD机考中精选100道经典题目,这些题目包括【5键键盘的输出】,【N进制减法】,【报数游戏】等等,并附上答案。 二、适合人群:具备一定编程基础,需要进行华为OD机考的小伙伴 三、能学到...
华为OD机考100题
2021年华为射频机考题目真题
2022华为od机考题_嵌入式-常用知识&面试题库_大厂面试真题.rar
华为OD系列--华为OD机考
华为OD系列--华为OD机考三道题的代码,以及考试过程中的一个记录
华为OD系列--华为OD机考题目
华为近几年机考试题两份,仅供参考,主要是各个地区习题的集合
面试华为根据网上写的机考题目C代码,网上python,JAVA代码较多,但是C代码很少,独家仅此一份,把自己写的分享出来,拼音名字就是代码名称,可以去网上搜...