Question
Multiplier chaque chiffre d'un nombre
- Speed83
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 12
- Remerciements reçus 0
il y a 9 ans 4 mois #22631
par Speed83
Multiplier chaque chiffre d'un nombre a été créé par Speed83
Bonjour,
J'ai une variable contenant un nombre du type 12345678.
J'aurai besoin de multiplier chaque chiffre de ce nombre comme dans l'exemple ci-dessous :
(1*8)+(2*7)+(3*6)+(4*5)+(5*4)+(6*3)+(7*2)+(8*1)
Mais je ne sais pas comment splitter correctement le nombre afin de récupérer chaque chiffre et ensuite le multiplier.
Je pense que ce n'est pas compliqué mais là je bloque...
Avez-vous une idée ?
Merci
J'ai une variable contenant un nombre du type 12345678.
J'aurai besoin de multiplier chaque chiffre de ce nombre comme dans l'exemple ci-dessous :
(1*8)+(2*7)+(3*6)+(4*5)+(5*4)+(6*3)+(7*2)+(8*1)
Mais je ne sais pas comment splitter correctement le nombre afin de récupérer chaque chiffre et ensuite le multiplier.
Je pense que ce n'est pas compliqué mais là je bloque...
Avez-vous une idée ?
Merci
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 9 ans 4 mois #22632
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Multiplier chaque chiffre d'un nombre
Salut,
une solution:
[code:1]
$n=12345678
$s=$n.ToString()
$t=[char[]]$s
[system.Array]::Reverse($T)
$i=1;$T|% { \"$i*$_\";$i++}
[/code:1]
Il y a surement plus simple.
une solution:
[code:1]
$n=12345678
$s=$n.ToString()
$t=[char[]]$s
[system.Array]::Reverse($T)
$i=1;$T|% { \"$i*$_\";$i++}
[/code:1]
Il y a surement plus simple.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Speed83
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 12
- Remerciements reçus 0
il y a 9 ans 4 mois #22634
par Speed83
Réponse de Speed83 sur le sujet Re:Multiplier chaque chiffre d'un nombre
Bonjour Laurent,
Merci pour cette réponse.
Je vais analyser ce petit bout de code afin de bien le comprendre et l'adapter complètement pour mon script.
Encore merci !
Merci pour cette réponse.
Je vais analyser ce petit bout de code afin de bien le comprendre et l'adapter complètement pour mon script.
Encore merci !
Connexion ou Créer un compte pour participer à la conversation.
- Speed83
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 12
- Remerciements reçus 0
il y a 9 ans 4 mois #22635
par Speed83
Réponse de Speed83 sur le sujet Re:Multiplier chaque chiffre d'un nombre
Malheureusement, je n'arrive pas a adapter le code.
Je voulais faire une boucle while en modifiant la ligne \"$i=1;$T|% { \"$i*$_\";$i++}\" afin de retrouver dans une variable au final le résultat sous la forme (1*8)+(2*7)+(3*6)+(4*5)+(5*4)+(6*3)+(7*2)+(8*1).
Ainsi ensuite, je pourrai calculer la somme mais j'y arrive pas... je continu à chercher.<br><br>Message édité par: Speed83, à: 22/11/16 13:51
Je voulais faire une boucle while en modifiant la ligne \"$i=1;$T|% { \"$i*$_\";$i++}\" afin de retrouver dans une variable au final le résultat sous la forme (1*8)+(2*7)+(3*6)+(4*5)+(5*4)+(6*3)+(7*2)+(8*1).
Ainsi ensuite, je pourrai calculer la somme mais j'y arrive pas... je continu à chercher.<br><br>Message édité par: Speed83, à: 22/11/16 13:51
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 9 ans 4 mois #22638
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Multiplier chaque chiffre d'un nombre
Le code proposé construit une string, un 'tronçon' de ton opération, soit tu construis une ligne de texte , comme ton exemple, puis tu utilises Invoke-Expression.
Soit tu utilises une variable temporaire $Total dans une boucle :
[code:1]
[int]$Total=0
[Int]$i=0 #pour forcer la conversion
#boucle
$Total += $i*$_
[/code:1]
Soit tu utilises une variable temporaire $Total dans une boucle :
[code:1]
[int]$Total=0
[Int]$i=0 #pour forcer la conversion
#boucle
$Total += $i*$_
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Speed83
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 12
- Remerciements reçus 0
il y a 9 ans 3 mois #22641
par Speed83
Réponse de Speed83 sur le sujet Re:Multiplier chaque chiffre d'un nombre
Bonjour Laurent,
Merci pour ces informations mais malheureusement je ne comprends pas
Concernant la boucle c'est exactement ce que j'ai déjà tenté de faire avant mais je n'y arrive pas. Depuis que tu m'as fournis ton premier code, je n'arrive pas à isoler chaque chiffre du nombre 12345678 par exemple pour ensuite le multiplier par $i.
L'idéal serait ta première idée mais comment construire la ligne de texte et utiliser invoke-expression. Je bloque sur ça, comment construire ma ligne à partir du nombre 12345678.
Peux-tu m'éclairer sur comment faire pour avoir ma ligne (1*8)+(2*7)+(3*6)+(4*5)+(5*4)+(6*3)+(7*2)+(8*1) ?
Merci<br><br>Message édité par: Speed83, à: 23/11/16 14:27
Merci pour ces informations mais malheureusement je ne comprends pas
Concernant la boucle c'est exactement ce que j'ai déjà tenté de faire avant mais je n'y arrive pas. Depuis que tu m'as fournis ton premier code, je n'arrive pas à isoler chaque chiffre du nombre 12345678 par exemple pour ensuite le multiplier par $i.
L'idéal serait ta première idée mais comment construire la ligne de texte et utiliser invoke-expression. Je bloque sur ça, comment construire ma ligne à partir du nombre 12345678.
Peux-tu m'éclairer sur comment faire pour avoir ma ligne (1*8)+(2*7)+(3*6)+(4*5)+(5*4)+(6*3)+(7*2)+(8*1) ?
Merci<br><br>Message édité par: Speed83, à: 23/11/16 14:27
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.049 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Multiplier chaque chiffre d'un nombre