Алгоритм Луна - проверка кредитных карт - Visual Basic .NET
Формулировка задачи:
Мне надо создать программу, которая, при введении номера кредитки, проверяет, может ли эта карточка существовать. Это
можно проверит по алгоритму Луна (https://ru.wikipedia.org/wiki/Алгоритм_Луна). Если может существовать, то выдается True.
Я кое-что сделал, но мне всегда выдается true. Что я делаю не так?
Листинг программы
- Imports System.Collections
- Imports System.Collections.Generic
- Public Class Form1
- Dim numbers(1) As Decimal
- Private Function CheckNumber(number1 As Decimal()) As Boolean
- Dim suma As Decimal = 0
- Dim result As Boolean = False
- For i As Decimal = number1.Length - 1 To 0 Step -1
- Dim number2 As Decimal = number1(i)
- If result Then
- number2 = number2 * 2
- If number2 > 9 Then
- number2 = number2 - 9
- End If
- End If
- result += result
- result = Not result
- Next
- Return suma Mod 10 = 0
- End Function
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- Dim numbertocheck As Decimal = numbers(1)
- numbertocheck = TextBox1.Text
- TextBox2.Text = CheckNumber(numbers)
- End Sub
- End Class
Решение задачи: «Алгоритм Луна - проверка кредитных карт»
textual
Листинг программы
- Private Function CheckNumber(number1 As Decimal()) As Boolean
- Dim suma As Decimal = 0
- Dim result As Boolean = False
- For i As Decimal = number1.Length - 1 To 0 Step -1
- Dim number2 As Decimal = number1(i)
- If result Then
- number2 = number2 * 2
- If number2 > 9 Then
- number2 = number2 - 9
- End If
- End If
- suma += number2
- result = Not result
- Next
- Return suma Mod 10 = 0
- End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д