如何使这段代码更快(时间限制0.1秒)

时间:2013-04-10 21:41:35

标签: java time execution

import java.util.*;
import java.io.*;

public class pool 
{ 
    public static void main(String args[])throws IOException 
    { 
        Scanner in=new Scanner(System.in); 
        int t=in.nextInt(); 
        for(int i=1;i<=t;i++)
        { 
            int a=in.nextInt(); 
            if ((360.0/(180-a))==Math.round((360.0/(180-a))))
                System.out.println("yes"); 
            else 
                System.out.println("NO"); 
        }
    }
}

1 个答案:

答案 0 :(得分:1)

通过比较360/(180-a)(540-a)/(180-a)

,您可以取消对圆形和浮点算术的调用

360.0/(180.0-a)+1.0的最低限度与Math.Round(360.0/(180.0-a)相同。使用一些等于(540-a)/(180-a)的简单代数,当使用整数算术时,该值的下限将是结果。

当然,这并不保证您发布的时间限制。