首页 > 编程语言 >java解决就简单的亮灯问题

java解决就简单的亮灯问题

时间:2024-10-15 20:17:03浏览次数:3  
标签:java 简单 亮灯 房间 public boolean 编号 100 整除

100个房间 每个房间 1 盏灯    这些灯都是灭的
    // 1 2 3 4 5 6 7 8 9
    100个人coming
        第1个人    来到每个房间前
            如果房间编号能够整除1 (人的编号)
            拉一下灯
        第2个人    来到每个房间前
            如果房间编号能够整除2 (人的编号)
            拉一下灯
        第3个人    来到每个房间前
            如果房间编号能够整除3 (人的编号)
            拉一下灯
        。。。
        问:当 100 个人都拉完灯之后 哪些灯是亮的
        答:1 4 9 16 25 36 49 64 81 100

第一种:房间不动 人进行动态,但是只有小于等于房间编号的人才有机会被整除.

例如房间 32号  人33号,那么32号以后的人就无法被整除直接简化  j<=i

public class Test01{
	public static void main(String[] args){
		boolean flag;//灭的
		int i=1;
		for(i=1;i<=100;i++){//一百个房间
			flag=false;
			for(int j=1;j<=i;j++){//小于等于i的人才能有机会整除
				if(i%j==0){
					flag=!flag;
				}
			}
			if(flag){
				System.out.println(i);
			}
		}

	}
}

第二种:

public class Test02{
    public static void main(String[] args){
		// false
		boolean[] data = new boolean[100];
		// 人-外层
		for(int ren = 1; ren <= 100; ren++){
			// 人的编号是定的
			for(int room = 1; room <= 100; room++){
				// 人-1	房间-room=1
				// 如果 room 能够整除ren
				if(room%ren == 0){
					// 人进房间 拉data[room-1]灯
					data[room-1] = !data[room-1];
				}
			}
		}
		// 编号 = index+1
		for(int index = 0; index < data.length; index++){
			if(data[index]){// true
				System.out.println(index+1);
			}
		}
	}
}

 

 

标签:java,简单,亮灯,房间,public,boolean,编号,100,整除
From: https://blog.csdn.net/Miserables_/article/details/142928474

相关文章

  • Java的引擎效验报错-java.lang.VerifyError
    java包直接修改bytecode,经常会报错java.lang.VerifyError,包含非常多种的检查直接修改引擎dll文件去除效验jvm.dll-X64-V21.0.0.0.text:000000018084438F488D0DDA422100learcx,aVerifyingMetho;"Verifyingmethod%s".text:00000001......
  • 图文深入理解java对象从创建到回收都经历了什么
    1.前言:每个java对象都是有生命周期的,就像一个人的生命一样,从孕育到出生到成长变老最后由归于自然。笔者认为,Java对象的整个生命周期可以分为两个大的阶段:即创建阶段和运行阶段(包含对象的回收和消亡)。本篇将会图文深入介绍java对象的整个生命过程。一般人平时看到java其实......
  • Java中的变量和常量:数据的‘小盒子’和‘铁盒子’有啥不一样?
    什么是变量?在Java里,变量就是一个“可变的小盒子”,你可以随时改变它里面的数据。就像你有一个存钱罐,可以随时往里面放钱、取钱,今天装100块,明天变成200块,完全没问题。变量的定义:当你要定义一个变量时,你要告诉Java两个信息:这个“盒子”是用来装什么类型的数据(也就是数据类......
  • JAVA基础笔记1(变量与运算符+基本数据类型)
    目录一.开发工具1.快捷键常用二.HelloWorld案例:输出:心形三:变量与运算符3.1关键字3.2 标识符(identifier)3.3变量3.30变量的概念:3.31变量类型3.32引用数据类型:   类:class   数组:array   接口:interface   枚举:enum   注解:annotation   ......
  • Java毕业设计 基于SpringBoot和Vue游戏商城网站
    Java毕业设计基于SpringBoot和Vue游戏商城网站这篇博文将介绍一个基于SpringBoot框架和Vue开发的游戏商城网站,适合用于Java毕业设计。功能介绍首页图片轮播游戏推荐游戏分类游戏详情添加购物车立即购买积分兑换评论收藏游戏论坛发布帖子游戏资讯......
  • Java中多线程的学习
    Java多线程学习总结目录Java多线程学习总结什么是进程什么是线程进程与线程的区别地址空间资源占用健壮性执行过程并发与资源消耗创建线程方式一:继承Thread类,并重写run()方法方式二:实现Runnable接口,并实现run()方法线程的状态线程暂停执行条件线程优先级多线程多线......
  • 四,Java面向对象
    Java面向对象:封装与构造方法笔记封装private关键字:概述:private是Java中的访问修饰符,用于隐藏类的内部细节,只通过公共方法(public)提供访问。特点:使用private修饰的成员变量或方法只能在同一个类内部访问,不能被类的外部直接访问。使用方式:成员变量:this.成员变量名,......
  • 简单的漏洞技巧
    easybugtofind​ mostofthebeginerhunterneedstofindeasybugstostaymotivatedinthisfeild技巧1:破坏链接劫持进行冒充​​ 原文链接:[https://medium.com/@coffeeaddict_exe/500-in-5-minutes-45977e89a337]:​ 概要:​ 在网站下方找到了推特的链......
  • 前端原型链:探索 JavaScript 中的继承奥秘
    一、引言在前端开发领域,JavaScript是一门广泛应用的编程语言。而原型链作为JavaScript中一个重要的概念,对于理解JavaScript的面向对象特性和实现继承机制起着关键作用。它不仅影响着代码的组织和复用方式,还决定了对象之间的关系和属性访问规则。本文将深入探讨前端原型链......
  • 讨论java有基础类型,为什么还要有封装类型呢?两者之间的比较方式?
    java有哪些基础类型boolean/1byte/8char/16short/16int/32float/32long/64double/64java为什么有基础类型,为什么还要有封装类型呢?举个例子吧,Character和char的区别是在于char只是存了个数据,而Character的区别在于他带有了一系列操作该数据的方法好处是什么呢?......