每日一题(小白)暴力娱乐篇26

我们先直接尝试暴力循环四轮看能不能得到答案,条件:四个数的平方相加等于这个数

①接收答案result

②循环四轮i,j,k,l

③如果i*i+j*j+k*k+l*l=result

④按照要求的格式输出这四个数字

代码如下👇

复制代码
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int result=scan.nextInt();
		int []arr=new int[4];
		int ans=(int) (Math.sqrt(result)+1);
		boolean b=false;
		for (int i = 0; i < ans; i++) {//开始循环
			if (i*i>result) {
				break;//为了不超时加入条件
			}
			for (int j = i; j < ans; j++) {
				if (i*i+j*j>result) {
					break;//为了不超时加入条件
				}
				for (int k = j; k < ans; k++) {
					if (i*i+j*j+k*k>result) {
						break;//为了不超时加入条件
					}
					for (int l = k; l < ans; l++) {
						if (i*i+j*j+k*k+l*l==result) {
							arr[1]=i;
							arr[2]=j;
							arr[0]=k;
							arr[3]=l;
							b=false;
							break;//为了不超时加入条件
						}
					}
					if (b) {
						break;//为了不超时加入条件
					}
				}
				if (b) {
					break;//为了不超时加入条件
				}
			}
			if (b) {
				break;//为了不超时加入条件
			}
		}
		Arrays.sort(arr);//排序输出
		for (int i = 0; i < arr.length; i++) {
			System.out.print(arr[i]+" ");
		}
			    
		scan.close();
	}

希望大家能动手自己尝试尝试这个代码非常的有意思掌握暴力冲刺国奖

测试用例👇

复制代码
12

0 2 2 2

15000

56 58 60 70 
相关推荐
无心水10 分钟前
深入Java线程池:BlockingQueue实现全景解析与实战指南
java·后端·面试
Java水解14 分钟前
JAVA面试题大全(200+道题目)
java·后端·面试
Predestination王瀞潞17 分钟前
Java EE开发技术(第四章:过滤器和监听器银行管理系统-下)
java·java-ee
摇滚侠19 分钟前
Spring Boot3零基础教程,Profile 环境隔离用法,笔记55
java·spring boot·笔记
编程岁月19 分钟前
java面试-0305-java线程调度方法?sleep()和wait()区别?
java·开发语言·面试
凌晨一点的秃头猪25 分钟前
Python 常见 bug 总结和异常处理
开发语言·python·bug
DoveLx28 分钟前
如何集成ElasticSearch到Spring Boot+MySQL项目中
java·elasticsearch
SleepyWhite00131 分钟前
代码随想录Day61|Floyd 算法精讲、A * 算法精讲
算法·floyd算法·astar算法
Miraitowa_cheems33 分钟前
LeetCode算法日记 - Day 84: 乘积为正数的最长子数组长度
数据结构·算法·leetcode·贪心算法·线性回归·深度优先·动态规划
云知谷37 分钟前
【经典书籍】C++ Primer 第19章特殊工具与技术精华讲解
c语言·开发语言·c++·软件工程·团队开发