package com.mixsmart.utils; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * @author yangyj * @Date 2022/7/14 15:55 * @description TODO */ public class FormulaUtils { public static Map triangleSquare(Object ranges){ Map map =new HashMap<>(); if(StringUtils.isEmpty(ranges)){ //z的默认取值范围 ranges="(0,15)"; } Matcher m = RegexUtils.matcher("[\\(||\\[](\\d*)(\\D)(\\d*)[\\)||\\]]",ranges.toString()); m.find(); Random rm = new Random(); int min = StringUtils.handObj2Integer(m.group(1)); int max = StringUtils.handObj2Integer(m.group(3)); Integer[] r= pythagorean(min,max); map.put("X",String.valueOf(r[0])); map.put("Y",String.valueOf(r[1])); map.put("Z", String.valueOf(r[2])); return map; } /** * result[0]^2+result[1]^2=result[2]^2 result[] 元素均为正整数 */ public static Integer[] pythagorean(Integer min,Integer max){ Integer[] result = null; List list = new ArrayList<>(); for(int i=1;i<=max;i++){ for(int j=1;j<=max;j++){ double tmp = Math.sqrt(Math.pow(i,2)+Math.pow(j,2)); int z= (int) Math.round(tmp); if(min