亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

可以幫我解析一下嗎??

可以幫我解析一下嗎??

不擾西風 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 關注
  • 827 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號