#5305: 為何一直TLE?


ntb (jjfg)

學校 : 輔仁大學
編號 : 14892
來源 : [140.136.160.186]
最後登入時間 :
2013-10-10 14:13:44
a007. 判斷質數 | From: [61.217.232.196] | 發表日期 : 2011-07-05 22:58

import java.util.Scanner;
public class JAVA
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
while (input.hasNext())
{
int x = input.nextInt();
boolean y = true;
int d = x/2;
for(int i = 2;i<=d;i++)
{
if(x%i==0)
{
y=false;
break;
}

}
if(y==true)
System.out.println("質數");
else
System.out.println("非質數");
}
}
}
 
以上是我的程式碼...
是否有更快的方式 ....
因為他一直說我TLE 
請大家幫我看一下....
還是...可以提供一下AC的版本 
 
#5308: Re:為何一直TLE?


grd (保持好奇心)

學校 : 臺中市私立明道高級中學
編號 : 18826
來源 : [140.113.207.250]
最後登入時間 :
2019-01-21 21:20:44
a007. 判斷質數 | From: [114.38.40.222] | 發表日期 : 2011-07-06 00:29

int d = x/2;

改為 sqrt(x)   (開根號...語法請改為java的)

 

 
#5312: Re:為何一直TLE?


poao899 (帥氣傳說勇士)

學校 : 臺北市立天母國中
編號 : 4509
來源 : [1.171.169.217]
最後登入時間 :
2022-04-29 18:47:00
a007. 判斷質數 | From: [111.243.40.137] | 發表日期 : 2011-07-06 22:41

int d = x/2;

改為 sqrt(x)   (開根號...語法請改為java的)

 


java是Math.sqrt() 
ZeroJudge Forum