交互の数字は、すべての数字が偶数と奇数の間で交互になる数字です。例:2703と7230は交互の数字ですが、2730はそうではありません。

数字が2倍の場合も非常に交互です。たとえば、3816は非常に交互の数字です。 7632も交互の数字であるため、交互になります。

質問は、4桁の非常に交互の数字がいくつあるかということです(数字は1つまたは複数のゼロで始めることはできません)

もちろん、この問題はプログラミングによって解決できますが、数学的にも解決できます。頑張ってください!

注:このパズルは自分で思いついたわけではありません。オランダの数学オリンピックの一部です。このPDFをご覧ください

コメント

  • このシナリオでは、5000は可能な非常に交互の数字の最大値ですよね?
  • 交互の数字それ自体は4桁である必要がありますが、交互の数字の2倍はそれよりも大きい場合があります。
  • ' 4桁に固執すると仮定すると、 '非常に非常にの交互の番号が1つだけあります:1818、これは2倍の、次に7272に移動します。ダブルとダブルダブルを5桁にすると、さらに多くなる可能性があります…
  • ダブルが5桁の4桁の非常に交互の数字はできません 。証明:4桁の数字の2倍であるすべての5桁の数字は、奇数である1で始まる必要があります必要があります。また、2の倍数はすべて偶数で終わる必要があります。奇数で始まり偶数で終わる奇数の数字は交互になる可能性がないため、5000から9999の間に非常に交互の数字はありません。
  • さらにきちんとした観測を追加するために、ここに' 10000未満の非常に非常に交互の番号の完全なリスト:39181093094188189091818。これらのうち、9109、および909のみが非常に非常に 非常に 交互に。 ' 5つのレベルの'を見つけるのは不可能だと確信しています'

回答

そのような数はあります

70

数値を2倍にすると、結果の桁は、右は運ばなかった。

したがって、$ x $の桁が$ LHLH $である場合に限り、$ 2x $が交互になります。ここで、$ L \ in \ {0,1,2,3 、4 \} $と$ H \ in \ {5,6,7,8,9 \} $。

(補足として、これは、$ x $が非常に交互になっている場合、 $ 2x $は引き続き4桁の数字であるため、$ x < 5000 $が必要です。

$ x $が交互になっている場合はOEOEまたはEOEOのように見えます。$ x $が非常に交互になるには、$ LHLH $でなければならないので、これら両方の制約を満たす方法の数を数えましょう。

  • OEOE

    :奇数はそれぞれ低くする必要があります。つまり、それぞれ$ 1 $または$ 3 $です。それぞれが高くなければならないので、$ 6 $または$ 8 $のいずれかです。各桁には2つの選択肢があり、合計$ 2 \ cdot2 \ cdot2 \ cdot2 = 16 $の可能性があります。

  • EOEO :現在、偶数は低く($ 0,2 $または$ 4 $)、オッズは高くなっています($ 5,7 $または$ 9 $)。各桁には3つの選択肢がありますが、最初の桁をゼロにすることはできないため、$ 2 \ cdot3 \ cdot3 \ cdot3 = 54 $の可能性があります。

これら2つカウントは希望の答えに追加されます。

コメント

  • I ' 。LHLHに到達しましたが、その後、'密度が高いのでしょうか?
  • OPのコメントによると、交互の数の2倍は4桁以上。
  • @GentlePurpleRain '重要ではありません。5桁の数字は1で始まる必要がありますが、最後の数字は偶数である必要があります。そのため、'交互に使用することはできません。
  • @f ' 'ええ、でも5桁の数字はとにかくカットされません
  • @mikeearnestはあなたの答えに少し追加しました。'でなければ、遠慮なくロールバックしてください。気に入った

回答

回答rは

70

手動でカウントしました。まだ数学的な解決策を考え出そうとしています。

コメント

  • '申し訳ありませんが、'は答えではありません。どうやってこの答えにたどり着きましたか?
  • @xander私の最新の編集を確認してください
  • '申し訳ありませんが、それでも正しい答えではありません
  • 待って、私が間違ったことを確認しました。しばらくお待ちください
  • @xander今はどうですか?

回答

くそー私は答えの前にこのブルートフォースを開始しました

70

VBA

このルートのより良いロジックは

if (one mod 2 = three mod 2) and (two mod 2 = four mod 2) then if one mod 2 <> two mod 2 then counter increase 

回答

さあ、ブルートフォース攻撃をもう一度!

他の回答で指摘されているように、答えは次のとおりです。

70

JSFiddle のソースコードと4桁の非常に代替的な番号の完全なリスト。

回答

正解は次のとおりです。

70


#AnubhavBalodhi, puzzling.stackexchange,26036, 1/2/16 2341 hrs E=["0","2","4","6","8"] O=["1","3","5","7","9"] ans=0 alters=[] def Alt(num): N=str(num) if len(N)<5: #4 digit if (N[0] in E and N[1] in O and N[2] in E and N[3] in O) or (N[0] in O and N[1] in E and N[2] in O and N[3] in E): alters.append(num) else: #5 digit if (N[0] in E and N[1] in O and N[2] in E and N[3] in O and N[4] in E ) or (N[0] in O and N[1] in E and N[2] in O and N[3] in E and N[4] in O): alters.append(num) for num in range(1000,10**5): Alt(num) #print(num) print(len(alters)) for numb in alters: if numb<9999 and numb*2 in alters: #if the number in alternating list is of 4 digits, and its double is also in the list. print(numb) ans+=1 print("ans is %d" %(ans)) 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です