MOD 10,11算法(GB/T 17710-1999 数据处理 校验码系统 )的 Python实现

以上是算法简要说明,以下代码为Python实现,不过注意代码中的N=15,不是16。

 1 # GB/T 17710 双模校验算法
 2 # QQ 3257132998
 3
 4 def GB_Code(str):
 5     str=str.replace(‘ ‘,‘‘)
 6
 7     p=10
 8     for j in range(1,15):
 9         numerator=(p+int(str[j-1]))%10
10         if(numerator==0):
11             numerator=10
12         p=(numerator*2)%11
13
14     return 11-p
15
16 print GB_Code(‘110108018718049‘)
时间: 2024-11-04 02:36:33

MOD 10,11算法(GB/T 17710-1999 数据处理 校验码系统 )的 Python实现的相关文章

GB/T 17710-1999 PHP生成校验码

校验码算法描述如下:详细:http://wenku.baidu.com/link?url=CDvNJ1sLYOPzbbxjEy5R-oME95RlfTCUU5-I5M0bqUt0I32b0Xd0EKmI-HiFQHhY8OcB6ERTml7pUwXFseLl8GGvkuc7w0V2sFDxi2H0XGC 本例子以16位编号为例子,用PHP予以实现,代码如下: $m = ''; $str = '440400131008309'; $str.= 'a'; /* 测试用例,最后一位为校验码 44040

代码面试最常用的10大算法

摘要:面试也是一门学问,在面试之前做好充分的准备则是成功的必须条件,而程序员在代码面试时,常会遇到编写算法的相关问题,比如排序.二叉树遍历等等. 在程序员的职业生涯中,算法亦算是一门基础课程,尤其是在面试的时候,很多公司都会让程序员编写一些算法实例,例如快速排序.二叉树查找等等. 本文总结了程序员在代码面试中最常遇到的10大算法类型,想要真正了解这些算法的原理,还需程序员们花些功夫. 1.String/Array/Matrix 在Java中,String是一个包含char数组和其它字段.方法的类

代码最常用的10大算法

摘要:面试也是一门学问,在面试之前做好充分的准备则是成功的必须条件,而程序员在代码面试时,常会遇到编写算法的相关问题,比如排序.二叉树遍历等等. 在程序员的职业生涯中,算法亦算是一门基础课程,尤其是在面试的时候,很多公司都会让程序员编写一些算法实例,例如快速排序.二叉树查找等等. 本文总结了程序员在代码面试中最常遇到的10大算法类型,想要真正了解这些算法的原理,还需程序员们花些功夫. 1.String/Array/Matrix 在Java中,String是一个包含char数组和其它字段.方法的类

程序员面试中常见10大算法汇总

以下是在编程面试中排名前10的算法相关的概念,我会通过一些简单的例子来阐述这些概念.由于完全掌握这些概念需要更多的努力,因此这份列表只是作为一个介绍.本文将从Java的角度看问题,包含下面的这些概念: 1. 字符串 如果IDE没有代码自动补全功能,所以你应该记住下面的这些方法. 1 2 3 4 5 6 toCharArray() // 获得字符串对应的char数组 Arrays.sort() // 数组排序 Arrays.toString(char[] a) // 数组转成字符串 charAt(

U盘 安装 CentOS 5.4 / Fefora 10/11/12

(下面是8G U盘 ) 1.  8G U盘,两个分区,都是FAT32(这样U盘也可以在Win下使用),由于Windows XP只能看到第一个FAT32分区,因此,将CentOS 5.4 的相关安装文件 放在 第二个分区中: 在Linux下用fdisk命令对8G U盘进行分区,如下(红色为输入): [[email protected] ~]# fdisk /dev/sda The number of cylinders for this disk is set to 30584. There is

JavaScript实现10大算法

在传统的计算机算法和数据结构领域,大多数专业教材和书籍的默认语言都是Java或者C/C+ +.当我了解到有一本叫做<数据结构与算法JavaScript描述>时,觉得它是一本很好的针对前端开发者们的入门算法书籍.有一个问题是,很多重要的算法和数据结构知识并没有在这本书里被提到.这些问题对于作为一个晚期强迫症患者的我来说简直不能忍.于是乎,一言不合我就决定自己找资料总结算法.那么,我就从算法领域里最基础的知识点——排序算法总结起好了. 十大经典算法概括图 名词解释: n:数据规模 k:“桶”的个数

程序员常用的10个算法

1.二分查找算法(非递归)  此篇写的是非递归算法,递归的在之前的查找算法中写过了. 1.1 算法的适用条件 二分查找只适用于从有序的数列中进行查找(比如数字和字母等),将数列排序后在查找. 1.2算法的效率: 时间复杂度为O(log2 n) 实例:使用二分查找的非递归形式对数组{1 3 8 10  11 67 100}进行查找 public class BinarySearchNoRecur { public static void main(String[] args) { //测试 int

解决mac 10.11 以后 无法使用未签名第三驱动

解决 最新版 mac 系统 无法使用未签名第三驱动 10.12.多 我的情况是 10.11.4 Beta (15E27e) 使用绿联usb网卡不正常. 下面的命令为检测驱动是否装载的一些命令.sudo kextload /Library/Extensions/AX88772.kext 报错: failed to load - (libkern/kext) not found; check the system/kernel logs for errors or try kextutil(8).

[C++11][算法][穷举]输出背包问题的所有可满足解

关于背包问题的题目,前人之述备矣,这里只讨论实现 输入: n ca w_1 v_1 w_2 v_2 ... w_n v_n 其中,n是物品总数,ca是背包大小,w_n是第n个物品的重量,v_n是第n个物品的价值 输出: v_1 x v_2 x v_3 x ... 其中,v_n是当前情况为x时背包的价值,x是一串序列,由0,1组成,表示是否放入背包 如: 1001就表示第一个和最后一个物品放入背包,中间两个物品不放入 要求编写一个程序,输出所有可满足解. 思路很简单,就是穷举.穷举每一个情况. 伪