小编use*_*307的帖子

如何在C#中检查加拿大社会保险号码的有效性?

我被赋予了在C#编写算法的任务,该算法检查加拿大社会保险号(SIN)的有效性.以下是验证SIN的步骤.

给出一个示例数字: 123 456 782

  1. 删除校验位(最后一位):12345678 2
  2. 提取偶数(2,4,6,8th digith):1 2 3 4 5 6 7 8
  3. 加倍他们:
        2  4  6  8
        |  |  |  |
        v  v  v  v
        4  8  12 16 
    
  4. 将数字加在一起:
    4+8+1+2+1+6 = 22
  5. 添加奇数位数:
        1+3+5+7 = 16
          Total : 38

有效性算法

  1. 如果总数是10的倍数,则校验位应为零.
  2. 否则,从下一个最高倍数10减去总数(在这种情况下为40)
  3. 此SIN的校验位必须等于之前的数字和总数之差(在这种情况下,40-38 = 2校验位为2,因此数字有效)

我迷失了如何在C#中实现这一点,我该怎么做?

c# algorithm

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

algorithm ×1

c# ×1