function GetGB17710( str:string):integer var strTmp,sNum:string; aArray, pArray, sArray:array[0..16] of integer; iLen, i, j:integer; begin strTmp := str; iLen :=Length( strTmp); j := iLen - 1; aArray[0] := 0; for i := 2 to iLen do begin sNum := strTmp[j]; aArray[i] := StrToInt(sNum); inc(j,-1); end; j := 0; for i := 16 to 2 do begin inc(j); if (j = 1)then begin pArray[j] := 10; end else begin pArray[j] := (sArray[j - 1] div 10) * 2; end; if (pArray[j] = 0)then begin pArray[j] := 10; pArray[j] := pArray[j] * 2; end;
sArray[j] := pArray[j] div 11; if (sArray[j] = 0)then begin sArray[j] := 10; end; sArray[j] := sArray[j] + aArray[i]; end; inc(iLen); pArray[iLen] := (sArray[j] div 10) * 2; aArray[1] := 10 - ((pArray[iLen] - 1) div 10); if (aArray[1] >= 10)then begin aArray[1] := 0; end; result:= aArray[1]; end; 没有测试
----------------------------------------------
链接:https://pan.baidu.com/s/12jzmECYKhGCsHBxz8tmB6w 提取码:pelr --来自百度网盘超级会员V9的分享