- Регистрация
- 05.01.2017
- Сообщения
- 236
- Благодарностей
- 37
- Баллы
- 28
есть код на с# чистом ..
кто поможет его на зенку оформить ? интересует только ответ - валид или не валид
C#:
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text.RegularExpressions;
class Program
{
private static Dictionary<string, Regex> cards = new Dictionary<string, Regex>()
{
["American Express"] = new Regex(@"\A3[47][0-9]{13}\z"),
["MasterCard"] = new Regex(@"\A5[1-5][0-9]{14}\z"),
["Visa"] = new Regex(@"\A4[0-9]{12}(?:[0-9]{3})?\z")
};
public static void Main()
{
while (true)
{
Console.Write("Input card number: ");
string card = Console.ReadLine();
if (card == null) break;
string answer = cards.SingleOrDefault(kv => kv.Value.IsMatch(card)).Key;
if (answer == null || card.Select((ch, i) => (ch - '0') * (i % 2 + 1)).Sum(x => x > 9 ? x % 10 + 1 : x) % 10 != 0) answer = "INVALID";
Console.WriteLine(answer);
}
}
}