1.数値の分解
2019を3つの異なる正の整数の合計に分解し、各正の整数に数値2と4が含まれないようにする必要があります。分解方法はいくつありますか?3つの整数を交換する順序は同じ方法と見なされます。たとえば、1000 + 1001 + 18と1001 + 1000 + 18は同じ方法と見なされます。
まず、2019を構成する3つの数値のタイプを分析しますか?
1. ABCの配置は6種類(ABC、ACB、BAC、BCA、
CAB、CBA)です
。2. AABの配置は3種類(AAB、ABA、BAA)と3.AAAの種類があります。
この問題では、2019を3つの異なる正の整数の合計に分解する必要があります。つまり、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.特別な数値の合計
Xiao Mingは、2、0、1、9(先頭の0を除く)を含む数値に非常に関心があります。1から40までの数値には、1、2、9、10から32、39、40、
合計28が含まれます。 、彼らの合計は574です。
1から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);
}
}