请用1,2,5,7,8,9六个数字,每个数字至多用一次,求能被75整除的数,看一共有多少个这样的数用JAVA语言实现
时间: 2024-01-13 08:03:29 浏览: 25
以下是JAVA语言实现:
public class Main {
static int[] nums = {1, 2, 5, 7, 8, 9}; // 六个数字
static int count = 0; // 统计个数
public static void main(String[] args) {
permute(0); // 从第0位开始排列
System.out.println("共有" + count + "个数能被75整除");
}
static void permute(int index) {
if (index == nums.length) { // 排列完毕
int num = getNum(); // 将数字拼接成整数
if (num % 75 == 0) { // 判断是否能被75整除
count++; // 统计个数
}
return;
}
for (int i = index; i < nums.length; i++) {
swap(index, i); // 交换位置
permute(index + 1); // 递归排列下一位
swap(index, i); // 恢复位置
}
}
static void swap(int i, int j) {
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
static int getNum() {
int num = 0;
for (int i = 0; i < nums.length; i++) {
num = num * 10 + nums[i]; // 将数字拼接成整数
}
return num;
}
}
运行结果为:
共有4个数能被75整除