[アーカイブ!】純粋数学、物理学、化学など:トレードとは一切関係ない脳トレ問題集 - ページ 320

 
Mathemat wrote(a)>>
Richieさん、自分で解きますか?

というわけで、自分で思いつきました :)

)) 。

それなら、3つではなく4つにすればいい。そして、12ではなく128。

 
226をちょっといじってます。
ポリゴンの中心を中心とした円周上にだけ点があるわけではないことがわかりました。
のみならず、ポリゴンの端に押しつけられた半直径の円の集合にも適用される。
円と交差するすべての和音の中点の位置を定点で想像すれば、容易に理解できる。
もしかしたら、この円の上には、もっと「半点」があるかもしれません。(c)つまり、明らかな最小値(1976)よりも多い答えになるのでしょう。
さらに思う。
// ところで、1976年=2*2*2*13*19です。
// この件が役に立つかどうかはわからないが。しかし、私はそれを考慮に入れています。:)
 
a = 128(b+c+d)/(bcd-128)
ここでもすべてが等しければ、512*a = a*a*a*a、すなわちa = 8となる。8888という数字も少し神秘的です。
それ以外の解決策は考えていない。しかし、任意の3桁の数字の積は128より大きい。
 
MetaDriver писал(а)>>

それなら、3桁ではなく4桁でお願いします。しかも12人分ではなく、128人分。


BASICでプログラムを組んでいるので、それで「埋め尽くされる」ことはない :)))

 
Richie >>:

У меня программа есть на бейсике, так, что меня этим не "засыпать" :)))

簡単です。例えば30桁の数字なら、あなたのヴァジックは数えるのに拷問されるでしょう。衝突型加速器で地球を破壊したほうが早い。

 

数学、コライダーについてはあきらめろ。危険はありません。政治家と科学者が小便をする必要があるだけだ。
アメリカ人はかつて電子レンジで「空気を温める」ことを試み、大損害を被ったが、今はジャーノスがその領域を歩いている :)))
-
ちなみに、128について。
以下のようになります。
34688
34866
36468
38864
43668
44946
44964
63468
その他
-
以下、プログラムそのものを紹介します。
-
'宣言
Dim M As Long
Dim N As Long
Dim Koeficient As Long

Private Sub Command1_Click()
Dim MaxChislo As Long
Dim MinChislo As Long
Dim i As Long
Dim strok As String
'初期データの設定
MinChislo = 1
MaxChislo = 100000
Koeficient = 128
For i = MinChislo To MaxChislo
strok = LTrim(RTrim(Str(i)))
If ProizCifr(strok) / SumCifr(strok) = Koeficient Then
Print strok
Else
'Print ".Not found"
End If
Next i
End Sub

'TOTAL COUNTING
Private Function SumCifr(Stroca As String) As Long
Dim i As Long
Dim Summa As Long
Dim Cifra As Long
For i = 1 To Len(Stroca)
Cifra = Val(Mid(Stroca, i, 1))
Summa = Summa + Cifra
Next i
SumCifr = Summa
End Function

'PROIZ CALCULATION
Private Function ProizCifr(Stroca As String) As Long
Dim i As Long
Dim Proiz As Long
Dim Cifra As Long
Proiz = 1
For i = 1 To Len(Stroca)
Cifra = Val(Mid(Stroca, i, 1))
Proiz = Proiz * Cifra
Next i
ProizCifr = Proiz
End Function

 
リッチー コライダーはちょっと無理があるのは理解できます。
34688はうまくいきません。和が29で、積がこの素数で割り切れないからです。石花は作れない...。しかも、どれもまったく合わない。
追伸:えっ、5桁もあるんですか!
 
Mathemat >>:
О других решениях не думал. Но произведение любых трех цифр больше 128.

解決策はこれしかない。

プログラムを書くのは問題ない。

例えば、予告編では4桁のスクリプトで、任意の約数に対してブルートフォース(力ずくの)解を与えています。(ちなみにスピードは気持ちいいくらいです)。

ネストされたループで解決する。

気になること・改善したほうがいい点:任意の文字数(パラメータで指定)に対するプログラムの書き方。

どのような選択肢があるのでしょうか?

再帰はうまくいくようだが、スタックを消費する。再帰を作りたいのですが。他に何かアイデアはありますか?

ファイル:
12.mq5  1 kb
 
Mathemat писал(а)>>
リッチー コライダーはちょっとやりすぎだと実感しています。
34688はうまくいきません。和が29で、積がこの素数で割り切れないからです。石花は作れない...。
そして、あなたが挙げたものは、どれもまったく機能しません。


今日は頑張りすぎでイマイチ。
-

 
MetaDriver >>:

А вот интересно: как написать прогу для произвольного количества знаков (задаваемого в параметре).

Какие варианты?

Рекурсия вроде прокатывает, но расходно по стеку. Щас сделаю рекурсию. Ещё идеи есть?

選択肢はない。30文字の場合、何とかして効果的にオーバーシュートを抑える必要があります。

再帰は多分無駄(文字数が10文字以上の場合)。