陈正磊


私信TA

用户名:RossTran

访问量:13623

签 名:

晨兴理荒秽,带月荷锄归。

等  级
排  名 178
经  验 6677
参赛次数 15
文章发表 34
年  龄 0
在职情况 学生
学  校 湖北生物科技职业学院
专  业

  自我简介:

解题思路:
暴力搜索法。

一般做搜索都有许多重复无用的操作,因此需要进行判断去除多余的暴力操作。

例如在本题中 ,

a b c d 中任意一个的平方已经大于n那么将终止本次循环。


注意事项:

参考代码:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int a=0,b=0,c=0;
        boolean flag=false;
        for (int i = 0; i*i<=n; i++) {a=i*i;
			for (int j = i;j*j+a<=n; j++) {b=j*j;
				for (int k = j; k*k+b<=n; k++) {c=k*k;
					double dou=Math.sqrt(n-a-b-c);
					int d=(int)dou;
					if (d==dou) {
						System.out.println(i+" "+j+" "+k+" "+d);
						flag=true;
						break;
					}
				}if(flag)break;
			}if(flag)break;
		}
        
    }
    

}


 

0.0分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区

我悟了
2020-10-13 14:37:39
  • «
  • 1
  • »