为了账号安全,请及时绑定邮箱和手机立即绑定

可以帮我解析一下吗??

可以帮我解析一下吗??

不扰西风 2019-04-01 09:27:51
/*实现Switch Game 关键算法并绘制流程图(30分) 有 n盏灯,编号 1~n(0<n<100)。第1 个人把所有灯打开,第2个人按下所有编号为2的倍数的开关(这些灯将被关掉),第3 个人按下所有编号为 3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),依次类推。输入灯数和人数,输出开着的灯的编号。 比如输入:10 2 输出最后亮灯的编号:1,3,5,7,9 注意:使用循环语句实现。  */package Nianxi;import java.util.Scanner;public class Ti_2 { public static void main(String[] args) {  Scanner input=new Scanner(System.in);  int d=input.nextInt();  int r=input.nextInt();  int j=2;  int num[]=new int[100];  for(int i=1;i<=d;i++){         num[i]=i;  }  while (j<=r) {       for(int i=j;i<=d;i++){            if(i%j==0){                 if(num[i]!=0){                          num[i]=0;                 }else{                          num[i]=i;                 }             }       }   j++;  }  for (int i=1;i<=d;i++){               if (num[i]!=0){                  System.out.print(num[i]+",");              }    }     }}
查看完整描述

1 回答

已采纳
?
EnchantF

TA贡献19条经验 获得超4个赞

  while (j<=r) {
       for(int i=j;i<=d;i++){
            if(i%j==0){
                 if(num[i]!=0){
                          num[i]=0;
                 }else{
                          num[i]=i;
                 }
             }
       }
   j++;
  }

while :对人进行遍历,默认人数>=2

for:对灯进行遍历

如果灯编号是人的倍数,再判断灯目前是不是关闭的(元素为0),如果是关的,则打开;反之,则关闭


查看完整回答
1 反对 回复 2019-04-01
  • 1 回答
  • 0 关注
  • 778 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信