算法研究之开灯问题
来源:互联网 发布:李沁 田小娥 知乎 编辑:程序博客网 时间:2024/06/07 18:31
这个问题是比较入门的一个算法问题:题目和解答如下
/* * 有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 stubLight 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];}}}//结果赋值给resultfor (int i=0;i<n;i++) {if(a[i]==false){result[i]=0;}else {result[i]=1;}}}}
- 算法研究之开灯问题
- 算法研究之开灯问题
- 算法研究之开灯问题
- 算法篇-开灯问题
- 算法入门开灯问题
- 算法题-开灯问题
- 算法奥秘之数组实现开灯问题、蛇形填数
- 算法入门经典:开灯问题
- 算法之路二:刘汝佳算法竞赛入门经典 3.2开灯问题
- 算法入门开灯问题,新做法
- 算法竞赛入门经典 开灯问题
- 算法竞赛入门经典-开灯问题
- 算法竞赛_开灯问题_C++
- 开灯问题
- 开灯问题
- 开灯问题
- 开灯问题
- 开灯问题
- 编程规范(下)
- Kbuild Makefile介绍
- linux上ln命令详细说明
- slave 连接 master 时,一直提示 Slave_IO_Running: Connecting
- 策略模式
- 算法研究之开灯问题
- 各种强大的listview(加button,加任何控件)
- 世界末日虽没来,信仰却会更坚定
- windows 7下安装Win CE 6.0开发环境
- Source Taste: Hibernate/JPA: PersistenceContextType & PersistenceUnitTransactionType
- ssh/SecureCRT 显示vim颜色模式
- tomcat配置https单向认证
- android很好的一篇文章,关于AndroidManifest.xml文件各个属性,补补基础
- C++中的异常处理机制