每日一题(小白)暴力娱乐篇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 
相关推荐
时空无限几秒前
Java Buildpack Reference
java·开发语言
涛涛北京5 分钟前
【强化学习实验】- 策略梯度算法
人工智能·算法
栀秋66620 分钟前
深入浅出链表操作:从Dummy节点到快慢指针的实战精要
前端·javascript·算法
serendipity_hky22 分钟前
【go语言 | 第2篇】Go变量声明 + 常用数据类型的使用
开发语言·后端·golang
Pyeako33 分钟前
机器学习之KNN算法
人工智能·算法·机器学习
xhxxx39 分钟前
从被追问到被点赞:我靠“哨兵+快慢指针”展示了面试官真正想看的代码思维
javascript·算法·面试
报错小能手41 分钟前
STL_unordered_map
开发语言·c++·哈希算法
可信计算41 分钟前
【算法随想】一种基于“视觉表征图”拓扑变化的NLP序列预测新范式
人工智能·笔记·python·算法·自然语言处理
月明长歌1 小时前
【码道初阶】【LeetCode 110】平衡二叉树:如何用一个“Magic Number”将复杂度从O(N²)降为 O(N)?
linux·算法·leetcode
爱笑的眼睛111 小时前
超越剪枝与量化:下一代AI模型压缩工具的技术演进与实践
java·人工智能·python·ai