[renommé] algorithme de luhn vb.net
Fermé
liver13
-
Modifié le 10 sept. 2017 à 09:16
yg_be Messages postés 23528 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 avril 2025 - 10 sept. 2017 à 13:47
yg_be Messages postés 23528 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 avril 2025 - 10 sept. 2017 à 13:47
A voir également:
- [renommé] algorithme de luhn vb.net
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
- Algorithme euromillion excel gratuit - Forum Algorithmes / Méthodes
- Ecrire un algorithme qui permet de resoudre ax²+bx+c=0 pdf - Forum Programmation
- Algorithme : toutes les combinaisons possibles dans un tableau de 2 par 7 ✓ - Forum VB / VBA
4 réponses
Utilisateur anonyme
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
23528
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 avril 2025
Ambassadeur
1 578
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