La dérivée d'une fonction est une pierre angulaire des mathématiques, de l'ingénierie, de la physique, de la biologie, de la chimie et d'un grand nombre d'autres sciences. Aujourd'hui, nous allons calculer quelque chose qui ne concerne que de manière tangentielle: la dérivée arithmétique.
Définition
Le dérivé arithmétique a(n)
ou n'
est défini ici ( A003415 ) par un certain nombre de propriétés similaires au dérivé d’une fonction.
a(0) = a(1) = 0
,a(p) = 1
, oùp
est tout premier, eta(mn) = m*a(n) + n*a(m)
.
La troisième règle est basée sur la règle du produit de différenciation des fonctions: des fonctions f(x)
et g(x)
, (fg)' = f'g + fg'
. Donc , avec des chiffres, (ab)' = a'b + ab'
.
À noter également, puisque la dérivée arithmétique peut être étendue aux nombres négatifs via cette relation simple a(-n) = -a(n)
, l’entrée peut être négative.
Règles
- Ecrivez un programme ou une fonction qui, avec n'importe quel entier
n
, retourne la dérivée arithmétique den
. - Les entrées seront , pour éviter les problèmes avec les tailles entières et les nombres trop grands pour prendre en compte une quantité de temps raisonnable. Votre algorithme devrait toujours pouvoir théoriquement calculer la dérivée arithmétique des nombres en dehors de cette plage.
-230 < n < 230
- Les fonctions intégrées pour les mathématiques symboliques, la décomposition en facteurs premiers et la différenciation sont autorisées.
Exemples
> a(1)
0
> a(7)
1
> a(14) # a(7)*2 + a(2)*7 = 1*2 + 1*7 = 9
9
> a(-5) # a(-5) = -a(5) = -1
-1
> a(8) # a(8) = a(2**3) = 3*2**2 = 12
12
> a(225) # a(225) = a(9)*25 + a(25)*9 = 6*25 + 10*9 = 150 + 90 = 240
240
> a(299792458) # a(299792458) = a(2)*149896229 + a(7)*42827494 + a(73)*4106746 + a(293339)*1022 = 1*149896229 + 1*42827494 + 1*4106746 + 1*1022 = 149896229 + 42827494 + 4106746 + 1022 = 196831491
196831491
Comme toujours, si le problème n'est pas clair, merci de me le faire savoir. Bonne chance et bon golf!
prime
ena(prime)
? Est-ce juste un nombre premier?