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

 
MetaDriver >>:

Я и на васике могу в четыре-пять строк уложиться

:)

Je le fais. Mais il serait intéressant de voir...

 
admin писал(а) >>

Pas moyen...
Et voici à quoi ressemble l'algorithme en perl :


for(111..999){
split(//,$_);
my($sum,$mul)=(0,1);
for(@_){$sum+=$_;$mul*=$_;}
print("$_\n") if($sum*12==$mul);
}


Je connais le BASIC depuis environ 18 ans. Mais ce que vous avez écrit, je ne peux même pas le comprendre. Je ne connais pas Perl. En général, en BASIC, ce serait encore plus facile si vous pouviez cacher presque tout dans un module, comme ceci :
-
Private Sub Command1_Click()
Me.PrintList(MathMod.OtnProSum(1,1e5))
End Sub

 
MetaDriver писал(а) >>

C'est juste un programmeur.... >> moyennement.

Je dirai plus que ça. Ce n'est pas du tout un programmeur.

 
admin >>:

Верю. Но интересно было бы взглянуть...

Jetez un coup d'oeil...
;)
Dossiers :
 
Private Sub FindAllButton_Click()
  For i = 111 To 999
    If ((1# * (i Mod 10) * ((i Mod 100) \ 10) * (i \ 100)) / (i Mod 10 + (i Mod 100) \ 10 + i \ 100) = 12) Then Range("c4").Value = i
  Next i
End Sub
Et c'est, en fait, l'algorithme de comptage. "Algorithme pur" tient en trois lignes, si l'on ne compte pas le titre et la fonction de clôture End :)
 
Sur ruby(il existe un bigint normal) pour toute taille n. :)
n=6 ;
(10**(n-1)..10**n-1).each{|i|
sum=0;mul=1
(1..n).each{|s|
d=i%10**s/10**(s-1)
sum+=d;mul*=d
}
if mul/sum==12
print i,"\n"
end
}
 
MetaDriver >>:
А это, собсно, алгоритм счёта. "Чиста алгоритм" уместился в трёх строках, ежли не считать заголовок и закрывающий End функции :)

Cool !

 
Richie, peux-tu vérifier sur ton Wasik si l'égalité "30 comme une somme de trois cubes" donnée à la page 322 du fil de discussion : https://c.mql4.com/forum/2010/04/cohen.GIF est exactement vraie ?
Richie, dans ce cas, "exactement" signifie absolument exact, avec zéro erreur : c'est l'égalité pour les entiers du livre sur les équations diophantiennes.
 
Mathemat писал(а) >>
Richie, mais tu peux vérifier sur ton Wasik si l'égalité "30 comme somme de trois cubes" donnée à la 322ème page du fil : https://c.mql4.com/forum/2010/04/cohen.GIF?
Richie, dans ce cas, "exactement" signifie absolument exact, avec zéro erreur : c'est l'égalité pour les entiers du livre sur les équations diophantiennes.



Malheureusement, avec les types de données standard comme Double et Long, rien ne fonctionne. Aujourd'hui, je regrette d'avoir détruit, après l'obtention de mon diplôme, la bibliothèque de fonctions VB qui me permet de faire des calculs précis avec des nombres très grands et très petits en créant mes propres types de données en VB.
-
Je l'ai essayé en VB avec le type Double - il s'est avéré être une connerie, dans Excel il s'est avéré être zéro.
La bibliothèque fonctionnait simplement - les nombres étaient stockés comme des chaînes de type String. Des actions ont été effectuées sur ces chaînes de caractères après leur conversion au format octet . Si nous avions plus de temps, nous pourrions écrire à nouveau.
-
Il y a peut-être un autre moyen, plus délicat, de le prouver ?

 
Mathemat писал(а) >>
Richie, mais tu peux vérifier sur ton Wasik si l'égalité "30 comme somme de trois cubes" donnée à la page 322 du fil : https://c.mql4.com/forum/2010/04/cohen.GIF?
Richie, dans ce cas, "exactement" signifie absolument exact, avec zéro erreur : c'est l'égalité pour les entiers du livre sur les équations diophantiennes.


Vous pouvez faire le calcul dans une calculatrice Windows.