社区讨论

求大神看看还有什么毛病

P1618三连击(升级版)参与者 5已保存回复 7

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
7 条
当前快照
1 份
快照标识符
@mi7xs8cg
此快照首次捕获于
2025/11/21 05:21
4 个月前
此快照最后确认于
2025/11/21 05:21
4 个月前
查看原帖
import java.util.Scanner;
public class Main {
CPP
public static boolean Check_Repetition(int[] array) {
	for (int i = 0; i < array.length; i++) {
		for (int j = 0; j < array.length && j != i; j++) {
			if (array[i] == array[j] || array[i] == 0 || array[j] == 0) {
				return false;
			}
		}
	}
	return true;
}

public static void main(String[] args) {
	Scanner scanner = new Scanner(System.in);
	int A = scanner.nextInt();
	int B = scanner.nextInt();
	int C = scanner.nextInt();
	int[] array = { -1, -2, -3, -4, -5, -6, -7, -8, -9 };
	boolean bo = false;
	for (int i = 123; i < 988; i++) {
		array[0] = i % 10;
		array[1] = i / 10 % 10;
		array[2] = i / 100;
		int j = (int) (((double) B / A) * i);
		if (j < 1000) {
			array[3] = j % 10;
			array[4] = j / 10 % 10;
			array[5] = j / 100;

			int k = (int) (((double) C / A) * i);
			if (k < 1000) {
				array[6] = k % 10;
				array[7] = k / 10 % 10;
				array[8] = k / 100;

				if (Check_Repetition(array)) {
					bo = true;
					System.out.println(i + " " + j + " " + k);
				}

			}
		}
	}
	if (bo == false) {
		System.out.println("No!!!");
	}
}
}
数组用来判断1-9有没有重复
只循环第一个数字,第二、三个数字用比例直接计算 大大减少了循环的次数
我觉得我的方法特别神仙,竟然能全AC(滑稽)

回复

7 条回复,欢迎继续交流。

正在加载回复...