4日になったので解答を投下します。
全ての組合せを計算してしまえば求まる(anond:20180101185837)のは間違いないですが、
その組合せの数は膨大なので現実的ではありません。(anond:20180102001812)
本問では、和が2018になるすべての組合せを求める必要は無く、和が2018になる n を求めるだけで良いので、
まず、nの範囲を求めて、すべてのnについて和が2018となる組合せを1つだけ求めることにします。
nの最小値は、問題文の例から n=2、最大値は、anond:20180101233916 から n=33 となります。
(2+3+5+7+11+13+17+19+23+29+31+37+41+43+47+53+59+61+67+71+73+79+83+89+97+101+103+107+109+113+127+131)=1851
残りは…2018-1851=167... 運よく167が素数ですので、n=33の組合せが求まりました。
2+3+5+7+11+13+17+19+23+29+31+37+41+43+47+53+59+61+67+71+73+79+83+89+97+101+103+107+109+113+127+131+167 = 2018 #33
↑
この33個の素数の中から、2つの素数を消して、どれかの素数(実際は末尾の素数)に足し合わせた時に、その合計が再び素数となるような
2つの素数を見つけることができれば、n=31 の組合せを作ることができます。
※途中から 2+5=7 とできるので nが偶数の時の組合せも同時に求めています。
2+3+5+7+11+13+17+19+23+29+31+37+41+43+47+53+59+61+67+71+73+79+83+89+97+101+103+107+109+113+127+131+167 #33 ↓3と11を消して、167に足して181とする。 2 +5+7 +13+17+19+23+29+31+37+41+43+47+53+59+61+67+71+73+79+83+89+97+101+103+107+109+113+127+131+181 #31 ↓7と23を消して、181に足して211とする。 2 +5 +13+17+19 +29+31+37+41+43+47+53+59+61+67+71+73+79+83+89+97+101+103+107+109+113+127+131+211 #29 ↓2+5=7 によって、偶数個の和を作れる。 +7 +13+17+19 +29+31+37+41+43+47+53+59+61+67+71+73+79+83+89+97+101+103+107+109+113+127+131+211 #28 ↓#29 から 13,17を消す 2 +5 +19 +29+31+37+41+43+47+53+59+61+67+71+73+79+83+89+97+101+103+107+109+113+127+131+241 #27 +7 +19 +29+31+37+41+43+47+53+59+61+67+71+73+79+83+89+97+101+103+107+109+113+127+131+241 #26 ↓#27 から 19,47を消す 2 +5 +29+31+37+41+43 +53+59+61+67+71+73+79+83+89+97+101+103+107+109+113+127+131+307 #25 +7 +29+31+37+41+43 +53+59+61+67+71+73+79+83+89+97+101+103+107+109+113+127+131+307 #24 ↓#25 から 29,31を消す 2 +5 37+41+43 +53+59+61+67+71+73+79+83+89+97+101+103+107+109+113+127+131+367 #23 +7 37+41+43 +53+59+61+67+71+73+79+83+89+97+101+103+107+109+113+127+131+367 #22 ↓#23 から 37,53を消す 2 +5 41+43 +59+61+67+71+73+79+83+89+97+101+103+107+109+113+127+131+457 #21 +7 41+43 +59+61+67+71+73+79+83+89+97+101+103+107+109+113+127+131+457 #20 ↓#21 から 41,43を消す 2 +5 +59+61+67+71+73+79+83+89+97+101+103+107+109+113+127+131+541 #19 +7 +59+61+67+71+73+79+83+89+97+101+103+107+109+113+127+131+541 #18 ↓#19 から 59,61を消す 2 +5 +67+71+73+79+83+89+97+101+103+107+109+113+127+131+661 #17 +7 +67+71+73+79+83+89+97+101+103+107+109+113+127+131+661 #16 ↓#17 から 67,83を消す 2 +5 +71+73+79 +89+97+101+103+107+109+113+127+131+811 #15 +7 +71+73+79 +89+97+101+103+107+109+113+127+131+811 #14 ↓#15 から 71,89を消す 2 +5 +73+79 +97+101+103+107+109+113+127+131+971 #13 +7 +73+79 +97+101+103+107+109+113+127+131+971 #12 ↓#13 から 73,79を消す 2 +5 +97+101+103+107+109+113+127+131+1123 #11 +7 +97+101+103+107+109+113+127+131+1123 #10 ↓#11 から 97,101を消す 2 +5 +103+107+109+113+127+131+1321 #9 +7 +103+107+109+113+127+131+1321 #8 ↓#9 から 103,107を消す 2 +5 +109+113+127+131+1531 #7 +7 +109+113+127+131+1531 #6 ↓#7 から 109,113を消す 2 +5 +127+131+1753 #5 +7 +127+131+1753 #4 ↓#5 から 127,131を消す 2 +5 +2011 #3 +7 +2011 #2
残りは、n=32,30 です。
n=32は素数表を眺めつつ、試行錯誤を繰り返して求めました。
n=32を求める。 ↓#33 から、2,131,167を消し、137,163を足す 3+5+7+11+13+17+19+23+29+31+37+41+43+47+53+59+61+67+71+73+79+83+89+97+101+103+107+109+113+127 +137+163 #32 n=30を求める。 ↓#32 から、3,7を消す 0 +5 +11+13+17+19+23+29+31+37+41+43+47+53+59+61+67+71+73+79+83+89+97+101+103+107+109+113+127 +137+173 #30
早速ですが問題です。 [レベル1] 連続する4つの整数の和が2018のとき、これらの整数を求めよ。 [レベル2] 連続するn(>4)個の整数の和が2018のとき、nをすべて求めよ。 [レベル1]は中学2年...
連続するかどうかは関係ないn(>1)個の素数の和が2018のとき、nをすべて求めよ。
4日になったので解答を投下します。 連続するかどうかは関係ない異なるn(>1)個の素数の和が2018のとき、nをすべて求めよ。 全ての組合せを計算してしまえば求まる(anond:20180101185837)...
1999 + 19
n=2の例ですね。ありがとうございます。
ANS = 2018def init_prime(max) pr = [] for n in 2..max pr.push(n) if Prime.prime?(n) end prenddef calc6(prs, n) prs.combination(n) {|arr| if arr.inject {|res, ar| res + ar} == ANS puts arr return true end } return falseenddef main6 prs = init_pr...
異なるn(>1)個の素数の和が2018のとき、nをすべて求めよ。 nの最大値を考える。 n=34の時、異なる素数の和の最小値は、 2+3+5+7+....+139 = 2127 となり、2018を超えてしまう。 よって、n は最...
2018未満の素数の数は、全部で306個ありますので、 そこから、例えば33個の素数を選ぶ場合、 205,454,361,245,692,057,383,929,236,130,775,774,760,597,950 種類の組合せになります。 組み合わせが多すぎ...
異なるn(>1)個の素数の和が2018のとき、nをすべて求めよ。 nの取り得る最大値が33なので、n=33での組合せが実在するのか調べた。 (2+3+5+7+11+13+17+19+23+29+31+37+41+43+47+53+59+61+67+71+73+79+83+89+97...
2018年は2つの素数の2乗の和で表すことができます。その2つの素数を求めなさい。
require 'prime'def calc3(a, b) (a*a + b*b) == ANSenddef main3 for a in 1..50 for b in 1..50 if Prime.prime?(a) and Prime.prime?(b) and calc3(a, b) puts "#{a}*#{a} + #{b}*#{b}" end end endendmain3
二つの整数をそれぞれx,yと置き、(x ≦ y)とする。 x2 + y2 = 2018 (x ≦ y,xは素数,yは素数) と表すことができる。 ここでyをxに置き換えると、 x2 + x2 ≦ 2018 2x2 ≦ 2018 x2 ≦ 1009 √1009 = 31.765より、...
連続するn個の整数の二乗の和が2018のとき、これらの整数を求めよ。
ANS = 2018#
この問題 > 連続するn個の整数の二乗の和が2018のとき、これらの整数を求めよ。 に解が実際に存在するのはかなり驚き。 以下ネタバレにつき改行。 ここから-- 2乗の...
2□0□1□8=10 □に四則演算記号を入れて等号を成立させなさい。
*
÷ + +
2+0/1+8
def calc2(a, b, c) begin eval("2#{a}0#{b}1#{c}8") == 10 rescue ZeroDivisionError => ex #STDERR.puts ex.to_s + " 2#{a}0#{b}1#{c}8" endenddef main2 op1 = ['+', '-', '*', '/', '%', '**', '&amp;', '|', '^', '<<', '>&g...
ANS = 2018def calc(a) a+a+1+a+2+a+3enddef main i = 1 until (ans = calc(i)) == ANS i += 1 end puts "#{i}+#{i+1}+#{i+2}+#{i+3}=#{ANS}"endmain
[レベル1] 連続する4つの整数をそれぞれ、m,(m+1),(m+2),(m+3)と置く。 和が2018になるので、 m + (m + 1) + (m + 2) + (m + 3) = 2018 4m + 6 = 2018 4m = 2012 m = 503 よって、連続する4つの整数は、503,504,505,506 [...
今朝数学の問題を投稿したものです。すごい反応だ。 皆さんありがとうございます。そして既に完全な正解が出ています。
1/3になりましたけど、 連続するかどうかは関係ない異なるn(>1)個の素数の和が2018のとき、nをすべて求めよ。 の回答も書きましょうかね? まだ、考えている人が居たらもう少し待ち...
ある程度検索してみても今年の数は例年に比べて盛り上がりに欠けますね。 専門家的にはあんま面白くないというか、扱いにくい数なんでしょうかね。
1009の2倍と知った時点で、つまらない数字だと直感した。
確かに素数を2倍しただけ、と考えると不毛な印象ですね。
3日になったので解答を投下します。 ・連続する4個の整数の和が2018 最も小さい数をxとして、 x+(x+1)+(x+2)+(x+3)=2018 4x+6=2018 4x=2012 x=503 なので、503,504,505,506。 ・連続するn個の整数の和が2018 ...