[Archives] Mathématiques pures, physique, chimie, etc. : problèmes d'entraînement cérébral sans rapport avec le commerce. - page 320

 
Mathemat a écrit(a)>>
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.

 
Je tripote un peu le numéro 226.
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. :)
 
a = 128(b+c+d)/(bcd-128)
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.
 
MetaDriver писал(а) >>

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 :))))

 
Richie >>:

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

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

 
Richie, je comprends que le collisionneur est un peu trop.
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 !
 
Mathemat >>:
О других решениях не думал. Но произведение любых трех цифр больше 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 ?

Dossiers :
12.mq5  1 kb
 
Mathemat писал(а) >>
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 :
-

 
MetaDriver >>:

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

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

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

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).