您当前的位置:首页 > 计算机 > 编程开发 > Java

给定一个正整数,求最少由哪几个数的平方和组成

时间:06-26来源:作者:点击数:

求一个正整数最少由哪几个数的平方和组成

案例:

输入 2

输出 1 1


输入 4

输出 2


输入 8

输出 2 2


输入 15

输出 3 2 1 1


public class MyTest {

    public static void main(String[] args) {
        MyTest myTest = new MyTest() ;
        myTest.test(15);
    }
    
    public void test(int num){
        int n = num ;
        while (num > 0){
            double s = Math.sqrt(n) ;
            if (isInteger( s + "")){
                System.out.print((int)s + " ");
                num -= n ;
                n = num ;
                continue;
            }
            n -- ;
        }
    }
    //判断一个数是否为整数(3.0是整数)
    public boolean isInteger(String num){
        Pattern pattern = Pattern.compile("\\d+(\\.[0]){0,1}") ;
        return pattern.matcher(num).matches();
    }
}
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门