Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 35
1

Сделать метод, который проверяет корректность личного кода (isikukood)

06.11.2017, 06:41. Просмотров 2338. Ответов 2
Метки нет (Все метки)


Сделать метод, который проверяет корректность личного кода (isikukood) – длина 11 символов.
Должна выполняться «контрольная сумма», например Isikukood 37605030299
Контрольная сумма = 1*3 + 2*7 + 3*6 + 4*0 + 5*5 + 6*0 + 7*3 + 8*0 + 9*2 + 1*9 = 108
Остаток от деления 108 на 11 равно 9 => последняя цифра в коде

37605030299
***********
GYYMMDDoooC
| \| \| \| \|/ |__ контрольная цифра
| | | | |___ порядковый номер родившихся в один и тот же день(нас не интересует)
| | | |____ дата рождения (01)
| | |_____ месяц рождения (январь – 01);
| |______ две последние цифры года рождения
|_______ пол и определяет две первые цифры года рождения
* 1 -- 1800-1899, мужчина
* 2 -- 1800-1899, женщина
* 3 -- 1900-1999, мужчина
* 4 -- 1900-1999, женщина
* 5 -- 2000-2099, мужчина
* 6 -- 2000-2099, женщина
Приведенный выше алгоритм действителен для тех, кто родился в прошлом веке.
Для родившихся в этом веке «контрольная сумма» кода считается по другому.
Найти самим алгоритм вычиссления «контрольной суммы» .
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.11.2017, 06:41
Ответы с готовыми решениями:

Оформить метод, который проверяет два массива на точное совпадение
оформить метод , который проверяет два чело массива на точное совпадение.используя этот метод ,...

Метод хорд - проверить корректность реализации кода
Приветствую, форумчане. Хочу обратиться к вам за помощью, вот еле написала программу для метода...

Метод, который принимает последовательность чисел и проверяет на ариф. и геом. прогрессию
Здравствуйте. Я в программировании новичок. Есть такая задачка вроде как не сложная, но как её...

Даны координаты точек в пространстве, написать метод, который проверяет, пересекаются ли данные точки
1. Создать класс ClassLibrary; 2. Создать статический метод в этом классе, реализующий...

__________________
Помогаю в написании курсовых работ и дипломов здесь.
Записывайтесь на профессиональные курсы С#-разработчиков‌
2
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 35
06.11.2017, 06:56  [ТС] 2
Сделать метод, который проверяет корректность личного кода (isikukood)
0
2831 / 2028 / 1018
Регистрация: 14.08.2016
Сообщений: 6,960
06.11.2017, 16:31 3
Лучший ответ Сообщение было отмечено Krul как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
        static bool IsValid(string code)
        {
            return code.Length == 11 && code.All(char.IsDigit) && code.Take(10)
                .Select((x, i) => char.GetNumericValue(x) * (i % 9 + 1)).Sum() % 11 == char.GetNumericValue(code.LastOrDefault());
        }
        static void Main(string[] args)
        {
            string Isikukood = "37605030299";
            Console.WriteLine(IsValid(Isikukood));
        }
0
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.