====== Number Theory Problems ====== ===== Q.6 ===== 有 5 个自然数,任取三个分别计算它们的和分别为 $15, 16, 18, 19, 21, 22, 23, 26, 27, 29$, 求这五个数分别是多少。 &MMA ++++ Show/Hide| test[s_] := (Total /@ Subsets[s, {3}] // Sort) == {15, 16, 18, 19, 21, 22, 23, 26, 27, 29} Select[Subsets[Range[25], {5}], test] (* {{1, 6, 8, 9, 12}} *) ++++ ===== Q.5 ===== 某数学爱好者玩某种游戏,每局可玩若干次,每次得分可能值为 $0, 7,$ 或 $a$(自然数)。每局中各次得分之和为总积分。 此人曾经得到过这样的总积分:$101,102,103,104,105,106,107$。又知他不可能得到 83 这个总积分。 求 $a$ 的所有可能值。 &MMA ++++ Show/Hide| test1[n_] := AllTrue[Solve[7 x + n y == #, {x, y}, NonNegativeIntegers]& /@ Range[101, 107], # != {} &]; test2[n_] := Solve[7 x + n y ==83, {x, y}, NonNegativeIntegers] == {}; Select[Range[107], test1[#] && test2[#]&] (* {15} *) ++++ &PP ++++ Show/Hide| 总积分是 $7$ 和 $a$ 的线性组合: $S=7x+ay$. 由 $101,102,103,104,105,106,107$ Mod $7$ 的结果构成集合 $\{0, 1, 2, 3, 4, ,5, 6\}$ 可知 $7$ 与 $a$ 互质, 从而 $\{a, 2a, 3a, 4a, 5a, 6a\} Mod 7$ 结果构成集合 $\{0, 1, 2, 3, 4, ,5, 6\}$。 $ 83\equiv 6(Mod\ 7)$, 如果 $6a \leq 83$, 则 $83$ 可以写成 $a*N+7*M$,与总积分不可能是83矛盾, 所以 $6a>83 \Rightarrow a \geq 14$, 14与7不互质,所以 $a \geq 15$. 如果 $6a > 107$, 则 $101~107$ 中至少有一个数不能写成 $a*N+7*M$,与题意矛盾, 所以 $6a\leq 107 \Rightarrow a\leq17$ 分别在 $a=\{15,16,17\}$ 时,对方程 $7x+ay=83$ 求整数解,得仅 $a=15$时,无整数解。 所以 $a=15$. ++++ ===== Q.4 ===== a,b 是非零自然数,满足下列两个条件的分数 a/b 有 ___ 个不同的值: (1) b %%<=%% 50; (2) 1/7 < a/b < 2/13。 &MMA ++++ Show/Hide| Tuples[Range[1, 50], 2] // Select[(1/7 < #[[1]]/#[[2]] < 2/13) &] // CountDistinct (* 9 *) ++++ ===== Q.3 ===== 一个正整数的立方是四位数,它的四次方是一个六位数,这里用到的十个数字,恰是 0~9 各出现一次,求这个正整数。 &MMA ++++ Show/Hide| Range[Max[1000^(1/3), 100000^(1/4)] // Ceiling, Min[9999^(1/3), 999999^(1/4)] // Floor] // Select[(Join[IntegerDigits[#^3], IntegerDigits[#^4]] // CountDistinct) == 10 &] (* {18} *) ++++ ===== Q.2 ===== 将一个四位数的数字顺序颠倒过来,得到一个新的四位数,新数比原数大8802,求原数。 &MMA ++++ Show/Hide| Reduce[ FromDigits[{d, c, b, a}] - FromDigits[{a, b, c, d}] == 8802 && x == FromDigits[{a, b, c, d}] && 0 < a < 10 && b < 10 && c < 10 && 0 < d < 10, {x}, NonNegativeIntegers ] (* a == 1 && b == 0 && c == 9 && d == 9 && x == 1099 *) ++++ ===== Q.1===== Find the 2024th natural number containing an even number of even digits. (For example, number 1 contains 0 even digits so 1 counts, number 2 contains 1 even digit so 2 doesn't count, and number 1234 contains 2 even digits so it counts too.) &PP ++++ Show/Hide| 对于任意自然数n,[10n, 10n+9] 中包含 5 个符合要求的数字,所以 0-4039 中包含 404*5 = 2020 个符合要求的数。我们继续往下数四个:4040,4042,4044,4046。所以 4046 即为所求数。 ++++ &MMA ++++ Show/Hide| Select[Range[5000], EvenQ[Length[Select[IntegerDigits[#], EvenQ]]]&][[2024]] (* 4046 *) ++++ &RKT ++++ Show/Hide| (require mathoak) (define (eoe? x) (even? (count even? (integer->digits x)))) (list-ref (filter eoe? (range 5000)) 2023) ;; 4046 ++++