每日一题(小白)暴力娱乐篇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 
相关推荐
不知天地为何吴女士1 小时前
Day32| 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
算法
小坏坏的大世界1 小时前
C++ STL常用容器总结(vector, deque, list, map, set)
c++·算法
wjs20242 小时前
状态模式(State Pattern)
开发语言
我命由我123452 小时前
Kotlin 数据容器 - List(List 概述、创建 List、List 核心特性、List 元素访问、List 遍历)
java·开发语言·jvm·windows·java-ee·kotlin·list
liulilittle2 小时前
C++ TAP(基于任务的异步编程模式)
服务器·开发语言·网络·c++·分布式·任务·tap
励志要当大牛的小白菜4 小时前
ART配对软件使用
开发语言·c++·qt·算法
qq_513970444 小时前
力扣 hot100 Day56
算法·leetcode
武子康4 小时前
Java-80 深入浅出 RPC Dubbo 动态服务降级:从雪崩防护到配置中心秒级生效
java·分布式·后端·spring·微服务·rpc·dubbo
PAK向日葵5 小时前
【算法导论】如何攻克一道Hard难度的LeetCode题?以「寻找两个正序数组的中位数」为例
c++·算法·面试
爱装代码的小瓶子6 小时前
数据结构之队列(C语言)
c语言·开发语言·数据结构