for (int i = 123; i <= 329; i++) {//i不能存在重复数字,且小于等于333,故i范围暂取【123,329】
String n=String.valueOf(i)+String.valueOf(i*2)+String.valueOf(i*3);
int sum1=1;
int sum2=0;
for (int j = 0; j < n.length(); j++) {
int num=Integer.parseInt(String.valueOf(n.charAt(j)));
sum1*=num;
sum2+=num;
}
if (sum1==362880 && sum2==45) {
System.out.println(i+" "+i*2+" "+i*3);
}
}
蓝桥杯里边的一道基础题
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
public class 我们的征途是星辰大海 {
public static List<String> list = new ArrayList<String>();
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for (int l = 0; l < T; l++) {
int n = sc.nextInt();
sc.nextLine();
char[][] mp = new char[n][n];
int x1 = 0, y1 = 0;//起始点坐标
for (int i = 0; i < n; i++) {
String h = sc.nextLine();
mp[i] = h.toCharArray();
//寻找起始点坐标
if (h.contains("S")) {
x1 = i;
y1 = h.indexOf("S");
}
}
int q = sc.nextInt();
sc.nextLine();
s: for (int i = 0; i < q; i++) {
String str = sc.nextLine();
int x = x1, y = y1;
for (int j = 0; j < str.length(); j++) {
char b = str.charAt(j);
//左
if (b == 'L') {
y--;
//右
} else if (b == 'R') {
y++;
//上
} else if (b == 'U') {
x--;
//下
} else if (b == 'D') {
x++;
}
//边界
if (x < 0 || y < 0 || x >= mp.length || y >= mp[0].length) {
list.add("I am out!");
continue s;
}
//障碍物
if (mp[x][y] == '#') {
list.add("I am dizzy!");
continue s;
}
//目的地
if (mp[x][y] == 'T') {
list.add("I get there!");
continue s;
}
}
//未找到目的地
list.add("I have no idea!");
}
}
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
比较复杂,也是蓝桥杯里边的一道题,难度不算高,但也没有很低,挺适合练习用