[renommé] algorithme de luhn vb.net
Fermé
liver13
-
Modifié le 10 sept. 2017 à 09:16
yg_be Messages postés 21302 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 mars 2023 - 10 sept. 2017 à 13:47
yg_be Messages postés 21302 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 mars 2023 - 10 sept. 2017 à 13:47
A voir également:
- [renommé] algorithme de luhn vb.net
- Ppcm algorithme - Forum Programmation
- Ecrire un algorithme qui permet de resoudre ax²+bx+c=0 - Forum Algorithmes / Méthodes
- Pgcd algorithme - Forum Programmation
- Algorithme produit de deux matrices ✓ - Forum Programmation
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
4 réponses
Whismeril
Messages postés
18279
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 mars 2023
888
10 sept. 2017 à 09:12
10 sept. 2017 à 09:12
Bonjour.
Merci de prendre en compte que tous les intervenants sont bénévoles.
Nous sommes là pour aider oui, mais faire le travail de recherche à ta place non.
Cet algorithme est décrit en français, puis un algorithme est proposé sur Wikipedia. (Entre autres).
C'est quand même un qui arrive en tête des recherches quelques soit le moteur utlisé.
Je te propose donc d'aller lire l'article, de tenter de traduire en VB.Net, et si tu n'y arrives pas de le poster ici, en utilisant la coloration syntaxique (voir la procédure ici), ce qui rend le code facile à lire (contrairement à celui que tu as posté) et donc augmentera tes chances qu'un bénévole s'intéresse à ton problème.
Merci de prendre en compte que tous les intervenants sont bénévoles.
Nous sommes là pour aider oui, mais faire le travail de recherche à ta place non.
Cet algorithme est décrit en français, puis un algorithme est proposé sur Wikipedia. (Entre autres).
C'est quand même un qui arrive en tête des recherches quelques soit le moteur utlisé.
Je te propose donc d'aller lire l'article, de tenter de traduire en VB.Net, et si tu n'y arrives pas de le poster ici, en utilisant la coloration syntaxique (voir la procédure ici), ce qui rend le code facile à lire (contrairement à celui que tu as posté) et donc augmentera tes chances qu'un bénévole s'intéresse à ton problème.
<?php
@param string $num
/
function test_cb($num){
if(strlen($num) == 16){ // 16 caractères
// Séparation de tous les caractères
$c = array();
for($i=0; $i<16; $i++){
if(is_numeric(substr($num,$i,1))){ // Uniquement des chiffres
$c[$i] = substr($num,$i,1);
}else{
return false;
}
}
// Contrôle
$m1 = 0;
for($i=0; $i<16; $i++){
if(($i%2)==0){
$x = $c[$i]*2;
if($x>9){
$m1 += $x-9;
}else{
$m1 += $x;
}
}else{
$m1 += $c[$i];
}
}
if(($m1%10)!=0){ // Doit être multiple de 10
return false;
}
// Pas d'erreur
return true;
}else{
return false;
}
}
@param string $num
/
function test_cb($num){
if(strlen($num) == 16){ // 16 caractères
// Séparation de tous les caractères
$c = array();
for($i=0; $i<16; $i++){
if(is_numeric(substr($num,$i,1))){ // Uniquement des chiffres
$c[$i] = substr($num,$i,1);
}else{
return false;
}
}
// Contrôle
$m1 = 0;
for($i=0; $i<16; $i++){
if(($i%2)==0){
$x = $c[$i]*2;
if($x>9){
$m1 += $x-9;
}else{
$m1 += $x;
}
}else{
$m1 += $c[$i];
}
}
if(($m1%10)!=0){ // Doit être multiple de 10
return false;
}
// Pas d'erreur
return true;
}else{
return false;
}
}
yg_be
Messages postés
21302
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 mars 2023
1 326
10 sept. 2017 à 13:47
10 sept. 2017 à 13:47
voici un exemple trouvé sur internet:
Imports System.Linq
Function ValidLuhn(value As String)
Return value.Select(Function(c, i) (AscW(c) - 48) << ((value.Length - i - 1) And 1)).Sum(Function(n) If(n > 9, n - 9, n)) Mod 10 = 0
End Function