[Archives] Mathématiques pures, physique, chimie, etc. : problèmes d'entraînement cérébral sans rapport avec le commerce. - page 320
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Richie, vas-tu le résoudre toi-même ?
Je l'ai donc trouvé moi-même :)
))Alors faites-en quatre au lieu de trois. Et 128, pas 12.
J'ai compris que les points ne se trouvent pas seulement sur les cercles centrés en un point == le centre du polygone,
mais aussi sur un ensemble de cercles de demi-diamètre pressés contre les bords du polygone.
C'est facile à comprendre, si l'on imagine la position des points médians de toutes les cordes qui coupent le cercle à l'une de leurs extrémités en un point fixe.
Peut-être y a-t-il d'autres "demi-points" sur ces cercles. (c) C'est-à-dire que la réponse sera probablement plus que le minimum évident (1976).
Je pense plus loin.
// Au fait, 1976 == 2*2*2*13*19
// Je ne sais pas si cela aide l'affaire. Mais je le prends en compte. :)
Encore une fois, si tous sont égaux, alors 512*a = a*a*a*a, c'est-à-dire a = 8. Le nombre 8888 est également légèrement mystique.
Aucune autre solution n'a été envisagée. Mais le produit de trois chiffres quelconques est supérieur à 128.
Alors donnez-moi quatre chiffres au lieu de trois. Et pas par 12, mais par 128.
J'ai un programme en BASIC, alors ne me "remplissez pas" avec ça :))))
У меня программа есть на бейсике, так, что меня этим не "засыпать" :)))
Facile. Si le nombre est, disons, de 30 chiffres, votre vasik serait torturé pour compter. Il serait plus rapide pour un collisionneur de détruire la Terre.
Mathemat, laisse tomber le collisionneur. Il ne présente aucun danger. C'est juste que les politiciens et les scientifiques ont besoin de pisser.
Les Américains ont essayé une fois de "chauffer l'air" avec des micro-ondes - ils ont perdu beaucoup d'argent, maintenant les journalistes marchent sur ce territoire :))))
-
Au fait, à propos de 128.
Les éléments suivants feront l'affaire :
34688
34866
36468
38864
43668
44946
44964
63468
etc.
-
Voici le programme lui-même :
-
'Declare
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
'Set initial data
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
'COMPTAGE TOTAL
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
CALCUL DE 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
34688 ne fonctionne pas : la somme est 29 et le produit n'est pas divisible par ce nombre premier. On ne peut pas faire fleurir une pierre... Et aucune d'entre elles ne convient.
P.S. Oh, vous avez cinq chiffres !
О других решениях не думал. Но произведение любых трех цифр больше 128.
La solution est la seule.
Aucun problème pour écrire un programme.
Par exemple, dans la bande-annonce, le script pour 4 chiffres donne toutes les solutions pour un diviseur arbitraire. (La vitesse, soit dit en passant, est agréablement surprenante).
Il se résout avec des boucles imbriquées.
Ce qui est intéressant : comment écrire un programme pour un nombre arbitraire de caractères (spécifié dans le paramètre).
Quelles sont les options ?
La récursion semble fonctionner, mais elle consomme de la pile. Je voudrais faire de la récursivité. D'autres idées ?
Richie, je réalise que le collisionneur est un peu exagéré.
34688 ne fonctionne pas : la somme est 29 et le produit n'est pas divisible par ce nombre premier. On ne peut pas faire fleurir une pierre...
Et aucun de ceux que vous avez mentionnés ne fonctionne.
Je ne suis pas très bien aujourd'hui, je travaille trop dur :
-
А вот интересно: как написать прогу для произвольного количества знаков (задаваемого в параметре).
Какие варианты?
Рекурсия вроде прокатывает, но расходно по стеку. Щас сделаю рекурсию. Ещё идеи есть?
Il n'y a pas d'options. Pour 30 caractères, vous devez limiter efficacement le dépassement d'une manière ou d'une autre.
La récursion est probablement inutile (si le nombre de caractères est supérieur à 10).