Interview Check If n Is A Perfect Square

来源:互联网 发布:手机遥控器软件安卓版 编辑:程序博客网 时间:2024/05/07 08:29

Check if a given number is a perfect square with only addition or substraction operation.

eg. 25 returns true; 19 returns false.

Perfect square number 有一个特性,比如0,1,4,9,16,25 他们之间的间隔分别是1,3,5,7,9,每次间隔都是i+2.

所以每次往下减i, i 更新成i+2. 看最后结果是否为0即可。

import java.util.*;public class isPerfectSquare{public static void main(String [] args){int num1 = 0;int num2 = 1;int num3 = 25;int num4 = 19;System.out.println(isPerfectSquare(num1));System.out.println(isPerfectSquare(num2));System.out.println(isPerfectSquare(num3));System.out.println(isPerfectSquare(num4));}private static boolean isPerfectSquare(int n){//1,4,9,16,25//1+3+5+7+9if(n<0){return false;}int i = 1;while(n>0){n-=i;i+=2;}if(n == 0){return true;}else{return false;}}}


0 0
原创粉丝点击