利用Java实现简单的算法题,2个数的平方和等于一个数字,
例:a = 13 ,可以分解为 22 + 33
解题思路:利用二重循环实现,外层循环从最小数字开始依次与内层循环数字平方和相加是否等于输入数字,如果相同,输出找到数字,反之输出未找到2位数字的平方和相加等于该数字。
具体代码如下:
Scanner sca = new Scanner(System.in);
int a = 0;
do {
System.out.println("请输入一个正整数:");
a = sca.nextInt();
if (a < 2) {
System.out.println("请输入大于2的整数");
a = sca.nextInt();
} else {
int count = 0;
for (int i = 2; i < a; i++) {
for (int j = 2; j < a; j++) {
if ((Math.pow(i, 2)) + (Math.pow(j, 2)) == a) {
System.out.println("数字" + a + "可以分解为" + i + "与" + j + "的平方和");
count ++;
break;
}
}
if (count != 0) {
break;
}
}
if (count == 0) {
System.out.println("数字" + a + "不可分解为两个大于1 的整数的平方和 。");
}
}
} while(a < 2);
ok,今日小算法题解析到此结束,如有错误之处,望各位大佬指出,双手感谢🤞🤞,制作不易,看到这里的小伙伴儿来个一键三连吧😘