1. Descomposición de números
Descomponga 2019 en la suma de tres enteros positivos diferentes y requiera que cada entero positivo no contenga los números 2 y 4, ¿cuántos métodos de descomposición diferentes hay? Tenga en cuenta que el orden de intercambio de 3 enteros se considera el mismo método, por ejemplo, 1000 + 1001 + 18 y 1001 + 1000 + 18 se consideran el mismo método.
En primer lugar, analizamos los tipos de los tres números que componen 2019.
1. Hay seis tipos de arreglos ABC (ABC, ACB, BAC, BCA,
CAB, CBA)
2. Hay tres tipos de arreglos AAB (AAB, ABA, BAA) y 3.AAA.
El problema requiere que 2019 se descomponga en la suma de tres enteros positivos diferentes, lo que significa que solo se conserva la combinación de clases ABC, j = i + 1,
public class Zichuan {
public static void main(String[] args) {
int n = 2019;
int num = 0;
for (int i = 1; i < n; i++) {
if ((i + "").indexOf("2") != -1 || (i + "").indexOf("4") != -1)
continue;
for (int j = i + 1; j < n; j++) {
if ((j + "").indexOf("2") != -1 || (j + "").indexOf("4") != -1)
continue;
int k = n - i - j;
if (i == k || j == k || i == j)
continue;
if (k > 0 && (k + "").indexOf("2") == -1 && (k + "").indexOf("4") == -1)
num++;
}
}
System.out.println(num / 3);
}
}
2. Suma de números especiales
Xiao Ming está muy interesado en los números que contienen 2, 0, 1, 9 (excluyendo el 0 inicial). En 1 a 40, dichos números incluyen 1, 2, 9, 10 a 32, 39 y 40,
un total de 28 , Su suma es 574.
¿Cuál es la suma de todos esos números del 1 al n?
public class Zichuan {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int result=0;
for(int i=1;i<=n;i++) {
String s=Integer.toString(i);
if(s.contains("1")||s.contains("2")||s.contains("9")||s.contains("0")) {
result=i+result;
}
}
System.out.println(result);
}
}