Мне было поручено написать алгоритм на C #, который проверяет действительность канадского номера социального страхования (SIN). Вот шаги для проверки SIN.
Дан пример Число: 123 456 782
- Удалить контрольную цифру (последнюю цифру): 12345678 2
- Извлечь четные цифры (2 , 4,6,8-й разряд): 1 2 3 4 5 6 7 8
- Двойные:
2 4 6 8
| | | |
vvvv
4 8 12 16
- Сложите цифры вместе:
4 + 8 + 1 + 2 + 1 + 6 = 22
- Сложите нечетные цифры:
1 + 3 + 5 + 7 = 16
Итого: 38
Алгоритм достоверности
- Если сумма кратна 10, контрольная цифра должна быть равна нулю.
- В противном случае вычтите сумму из следующего наивысшего кратного 10 (в данном случае 40).
- Контрольная цифра для этого SIN должна быть равна разнице числа и сумм, полученных ранее (в данном случае
40-38 = 2
; контрольная цифра 2, поэтому число действительное)
Я не понимаю, как на самом деле реализовать это на C #, как мне это сделать?
задан George Stocker 24 November 2010 в 16:02
поделиться