#2387: 不懂~


testjerry (+1)

學校 : 國防大學
編號 : 7951
來源 : [219.84.57.118]
最後登入時間 :
2022-10-17 22:21:55
d111. 10110 - Light, more light -- UVa10110 | From: [140.129.98.171] | 發表日期 : 2009-09-16 15:34

import java.util.*;  
 
public class Practice{  
    public static void main(String []args){  
        Scanner input=new Scanner(System.in);
  while(input.hasNext()){
   long x=input.nextLong();
   if(x==0)
    break;
    
   int count=1;//被自己整除,即最後一趟會去打開關掉最後一個燈泡
   for(long t=1; t<=Math.sqrt(x)+1; t++){
    if(x%t==0)
     count++;//走過去那趟,會打開或關掉最後一個燈泡的次數
   }
   
   if(count%2==1){
    System.out.println("yes");//奇數次表最後一次為開啟
   }else{
    System.out.println("no");//偶數次表最後一次為關閉
   }
  }
    }  
}  

 

 

測資點一直過不了

但是用範例的測資

均是對的

也想不出邏輯哪裡錯

請前輩指教

 
ZeroJudge Forum