A、B、C、D分别为0——9之间的整数,求出满足AB+CD=DA条件的数
对于本道题,一时没有想到更好的方法,只用了四重for循环来暴力求解,当然我们都知道一般循环嵌套不超过三层,不然计算量就会非常大,还好本题要求的数字比较小,计算量还行。)
代码
public class Demo00 {
public static void main(String[] args) {
int i = 0;
for (int a = 0; a < 10; a++)
for (int b = 0; b < 10; b++)
for (int c = 0; c < 10; c++)
for (int d = 0; d < 10; d++) {
if ((a * 10 + b + c * 10 + d) == (d * 10 + a))
System.out.println("a:" + a + "b:" + b + "c:" + c
+ "d:" + d);
}
}
}
结果 部分
求两个整数的最大公约数和最小公倍数
最大公约数我们可以取两数中最小的数,循环判断从一到最小的数之间,是否有整除的数,有就更新为最大公约数。
最小公倍数我们可以去两数之间的最大的数和两数的乘积的范围为循环的范围,寻找可以被两数同时整除的数,更新为最小公倍数。
代码
import java.util.Scanner;
public class Demo00 {
public static void main(String[] args) {
System.out.println("请输入两个整数");
Scanner sc = new Scanner(System.in);
int number1 = sc.nextInt();
int number2 = sc.nextInt();
int numberMin = 1;// 两个书中最小值
int numberMax = 0;// 两个数最大值
int commonFactor = 0;// 公约数
int commonMultiple = 0;// 公倍数
if (number1 > number2) {
numberMin = number2;
numberMax = number1;
} else {
numberMin = number1;
numberMax = number2;
}
//计算最大公约数
for (int i = 1; i <= numberMin; i++) {
if (number1 % i == 0 && number2 % i == 0)
commonFactor = i;
}//计算最小公倍数
for (int j = numberMax; j <= number1 * number2; j++) {
if (j % number1 == 0 && j % number2 == 0) {
commonMultiple = j;
break;
}
}
System.out.println("最小公倍数:" + commonMultiple);
System.out.println("最大公约数:" + commonFactor);
}
}
结果



