解题思路:
暴力搜索法。
一般做搜索都有许多重复无用的操作,因此需要进行判断去除多余的暴力操作。
例如在本题中 ,
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 人评分