Алгоритм Луна (проверка валидности кредитных карт) - C#

Узнай цену своей работы

Формулировка задачи:

Прошу помочь разобраться с алгоритмом Луна, используемый для валидности кредитных карт. Какой лучше тип использовать вместо int. Надо ли добавлять проверку, когда количество цифр нечетное? Код не завершен, потому что до конца не понимаю, что еще нужно делать.
int sum = 0;
            System.Console.WriteLine("Введите номер карты");
            string str = System.Console.ReadLine();
 
            int num = int.Parse(str);
 
            int digitCount = (int)Math.Log10(num) + 1;      
 
            int[] array = new int[digitCount];
 
            for (int i = 0; i < digitCount; i++)
            {
                array[i] = num % 10;
                num /= 10;
            }
 
            int p = 1;                                    
 
            if (digitCount % 2 == 0)
            {
                for (int i = 0; i < digitCount - 1; i++)
                {
                    if (i % 2 == 0)
                    {
                        p = array[i] * 2;
                        if (p > 9)
                        {
                            p -= 9;
                        }
                        array[i] = p;
                    }
                    else array[i] = array[i];
                    sum = sum + array[i];
                }
 
                    if (sum%10==0)
                    {
                        System.Console.WriteLine("Number is valid");
                    }
                    else System.Console.WriteLine("Number is not valid");
                 
            }
            System.Console.ReadKey();   
        }

Решение задачи: «Алгоритм Луна (проверка валидности кредитных карт)»

textual
Листинг программы
var query = "Тестов33ая стро44ка".Where(n => n >= '0' && n <= '9');
            foreach (var q in query)
            {
                Console.Write(q); // выведет 3344
            }

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

13   голосов , оценка 3.846 из 5
Похожие ответы