算法研究之开灯问题

简介: 这个问题是比较入门的一个算法问题:题目和解答如下 /* * 有n 盏灯,编号为l-n. 第1 个人把所有灯打开,第2 个人按下所编号为2 的倍数的开关〈这些灯将关掉) , 第3 个人接下所有辑号为3 的情数的开关〈其中共掉的灯将披打开,开着的灯将关闭) ,依此类推.

这个问题是比较入门的一个算法问题:题目和解答如下

/*
 * 有n 盏灯,编号为l-n. 第1 个人把所有灯打开,第2 个人按下所编号为2 的倍数
的开关〈这些灯将关掉) , 第3 个人接下所有辑号为3 的情数的开关〈其中共掉的灯将
披打开,开着的灯将关闭) ,依此类推.一共有k 个人,间最后有哪些灯开着?
 */
public class Light {
	
	//boolen临时数组
	public boolean[] a;
	//结果数组
	public int[] result;
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Light light=new Light();
		light.sweepLight(100, 20);
		int[] t=light.result;
		for(int i=0;i<t.length;i++){
			if(t[i]==1){
				System.out.println("第"+(i+1)+"号灯亮着!");
			}
		}
	}
	/*
	 * n 灯的个数  k 人的数量
	 */
	public void sweepLight(int n,int k){
		a=new boolean[n];
		result=new int[n];
		/*
		 * 初始化a
		 */
		for(int m=0;m<n;m++){
			a[m]=false;
		}
		for(int i=0;i<k;i++){
			for(int j=0;j<n;j++){
				if((j+1)%(i+1)==0){
					a[j]=!a[j];
				}
			}
		}
		//结果赋值给result
		for (int i=0;i<n;i++) {
			if(a[i]==false){
				result[i]=0;
			}else {
				result[i]=1;
			}
		}
	}
}


目录
相关文章
|
10月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
809 0
|
10月前
|
存储 机器学习/深度学习 编解码
双选择性信道下正交啁啾分复用(OCDM)的低复杂度均衡算法研究——论文阅读
本文提出统一相位正交啁啾分复用(UP-OCDM)方案,利用循环矩阵特性设计两种低复杂度均衡算法:基于带状近似的LDL^H分解和基于BEM的迭代LSQR,将复杂度由$O(N^3)$降至$O(NQ^2)$或$O(iNM\log N)$,在双选择性信道下显著提升高频谱效率与抗多普勒性能。
542 0
双选择性信道下正交啁啾分复用(OCDM)的低复杂度均衡算法研究——论文阅读
|
11月前
|
传感器 机器学习/深度学习 算法
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)
273 0
|
10月前
|
存储 监控 算法
基于 Go 语言跳表结构的局域网控制桌面软件进程管理算法研究
针对企业局域网控制桌面软件对海量进程实时监控的需求,本文提出基于跳表的高效管理方案。通过多级索引实现O(log n)的查询、插入与删除性能,结合Go语言实现并发安全的跳表结构,显著提升进程状态处理效率,适用于千级进程的毫秒级响应场景。
356 15
|
10月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
487 8
|
11月前
|
机器学习/深度学习 传感器 算法
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
425 14
|
11月前
|
运维 监控 JavaScript
基于 Node.js 图结构的局域网设备拓扑分析算法在局域网内监控软件中的应用研究
本文探讨图结构在局域网监控系统中的应用,通过Node.js实现设备拓扑建模、路径分析与故障定位,提升网络可视化、可追溯性与运维效率,结合模拟实验验证其高效性与准确性。
550 3
|
11月前
|
canal 算法 vr&ar
【图像处理】基于电磁学优化算法的多阈值分割算法研究(Matlab代码实现)
【图像处理】基于电磁学优化算法的多阈值分割算法研究(Matlab代码实现)
280 1
|
11月前
|
存储 监控 算法
企业电脑监控系统中基于 Go 语言的跳表结构设备数据索引算法研究
本文介绍基于Go语言的跳表算法在企业电脑监控系统中的应用,通过多层索引结构将数据查询、插入、删除操作优化至O(log n),显著提升海量设备数据管理效率,解决传统链表查询延迟问题,实现高效设备状态定位与异常筛选。
244 3
|
11月前
|
机器学习/深度学习 运维 算法
【微电网多目标优化调度】多目标学习者行为优化算法MOLPB求解微电网多目标优化调度研究(Matlab代码实现)
【微电网多目标优化调度】多目标学习者行为优化算法MOLPB求解微电网多目标优化调度研究(Matlab代码实现)
400 1

热门文章

最新文章