[Matematica pura, fisica, chimica, ecc.: problemi di allenamento del cervello non legati in alcun modo al commercio - pagina 320

 
Mathemat ha scritto(a)>>
Richie, lo risolverai tu stesso?

Quindi l'ho inventato io :)

))

E allora fatene quattro invece di tre. E 128, non 12.

 
Sto armeggiando un po' con il #226.
Ho capito che i punti non stanno solo sui cerchi centrati in un punto == il centro del poligono,
ma anche su un insieme di cerchi di mezzo diametro premuti contro i bordi del poligono.
È facile da capire, se si immagina la posizione dei punti medi di tutte le corde che intersecano il cerchio in una delle loro estremità in un punto fisso.
Forse ci sono altri "mezzi punti" su questi cerchi. (c) Cioè la risposta sarà probabilmente più del minimo ovvio (1976).
Penso ulteriormente.
// A proposito, 1976 == 2*2*2*13*19
// Non so se questo aiuta il caso. Ma ne tengo conto. :)
 
a = 128(b+c+d)/(bcd-128)
Di nuovo, se tutti sono uguali, allora 512*a = a*a*a*a*a, cioè a = 8. Il numero 8888 è anche leggermente mistico.
Non sono state pensate altre soluzioni. Ma il prodotto di tre cifre qualsiasi è maggiore di 128.
 
MetaDriver писал(а) >>

Allora dammi quattro cifre invece di tre. E non di 12, ma di 128.


Ho un programma in BASIC, quindi non "riempitemi" con questo :)))

 
Richie >>:

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

Facile. Se il numero è, diciamo, di 30 cifre, il vostro vasik sarebbe torturato per contare. Sarebbe più veloce per un collisore distruggere la Terra.

 

Mathemat, lascia perdere il collisore. Non rappresenta un pericolo. È solo che i politici e gli scienziati hanno bisogno di pisciare.
Gli americani una volta hanno provato a "riscaldare l'aria" con le microonde - hanno perso un sacco di soldi, ora i giornalisti camminano su quel territorio :)))
-
A proposito, circa 128.
Il seguente andrà bene:
34688
34866
36468
38864
43668
44946
44964
63468
ecc.
-
Ecco il programma stesso:
-
'Dichiarare
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
'Imposta dati iniziali
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 "Non trovato"
End If
Next i
End Sub

'CONTEGGIO TOTALE
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

'CALCOLO PROIZ
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

 
Richie, capisco che il collisore è un po' troppo.
34688 non funziona: la somma è 29 e il prodotto non è divisibile per questo numero primo. Non si può fare un fiore di pietra... E nessuno di loro si adatta affatto.
P.S. Oh, hai cinque cifre!
 
Mathemat >>:
О других решениях не думал. Но произведение любых трех цифр больше 128.

La soluzione è l'unica.

Nessun problema a scrivere un programma.

Per esempio, nel trailer lo script per 4 cifre dà tutte le soluzioni per un divisore arbitrario. (La velocità, a proposito, è piacevolmente sorprendente).

Risolve con cicli annidati.

Ciò che è interessante: come scrivere un programma per un numero arbitrario di caratteri (specificato nel parametro).

Quali sono le opzioni?

La ricorsione sembra funzionare, ma consuma lo stack. Vorrei fare una ricorsione. Qualche altra idea?

File:
12.mq5  1 kb
 
Mathemat писал(а) >>
Richie, mi rendo conto che il collisore è un po' esagerato.
34688 non funziona: la somma è 29 e il prodotto non è divisibile per questo numero primo. Non si può fare un fiore di pietra...
E nessuno di quelli che hai menzionato funziona affatto.


Non sto molto bene oggi, sto lavorando troppo:
-

 
MetaDriver >>:

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

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

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

Non ci sono opzioni. Per 30 caratteri, è necessario limitare efficacemente l'overshoot in qualche modo.

La ricorsione è probabilmente inutile (se il numero di caratteri è più di 10).