Article View: es.comp.os.linux.programacion
Article #8939Re: Calcular la letra del CIF
From: Claudio S.
Date: Sat, 21 Sep 2002 00:06
Date: Sat, 21 Sep 2002 00:06
50 lines
2796 bytes
2796 bytes
El Fri, 20 Sep 2002 23:24:37 +0200, quantium <quantium@lycos.es> escribi�: > Baxas wrote: >> Hola, > > Hola > >> >> Me gustaria si alguien lo tiene que me pasara el c�digo para calcular la >> letra del CIF. Si es posible en C o C++. Tambien me vale si alguie me lo >> explica y ya har� yo el c�digo. > > (1� paso) > dividir el numero del dni entre 23, supongamos que el dni es:12667183 > 12667183/23= 550747,0869 > > (2� paso) > Quitamos los numeros decimales del 1� paso y lo multiplicamos por 23 > 550747*23= 12667181 > > (3� paso) > Restas al dni el 2� paso: > 12667183-12667181= 2 Los tres pasos se resumen en uno: calcular el resto de la divisi�n por 23: en C -> resto = num % 23 en shell -> resto=$(( num % 23 )) > (4� paso) > El resultado del paso anterior sera un numero entre 0 y 23, > dependendiendo de este valor la letra sera diferente, a continuacion te > pongo una peque�a tabla: > > 0 - T 4 - G 8 - P 12 - N 16 - Q 20 - C > 1 - R 5 - M 9 - D 13 - J 17 - V 21 - K > 2 - W 6 - Y 10 - X 14 - Z 18 - H 22 - E > 3 - A 7 - F 11 - B 15 - S 19 - L 23 - T > > Entonces la letra del dni 12667183 es W Alguien em dijo que casi siempre. Una de las causas de la aparici�n de los NIF es que hay (hab�a?) n�meros de DNI repetidos y en esos casos, para diferenciarlos, hacienda les daba distinta regla. Desde que me lo dijeron no he encontrado ni una sola base de datos con uno de estos dni repetidos, as� que no s� que pensar. Un saludo. --claudio--
Technical Details
Message-ID:
<slrnaone04.7k6.claudio@nntp.tralari.com>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!small.news.tele.dk!193.174.75.178!news-fra1.dfn.de!fu-berlin.de!nsnmpen1-lo.nuria.telefonica-data.net!nsnmrro2-lo.nuria.telefonica-data.net!127.0.0.1!nobodyReferences:
<44sfma.782.ln@linux.local> <3D8B9215.2020804@lycos.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,583cadd11f99a4a5 X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2002-09-20 17:32:58 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!small.news.tele.dk!193.174.75.178!news-fra1.dfn.de!fu-berlin.de!nsnmpen1-lo.nuria.telefonica-data.net!nsnmrro2-lo.nuria.telefonica-data.net!127.0.0.1!nobody From: "Claudio S." <claudio@ningun.sitio.es> Newsgroups: es.comp.os.linux.programacion Subject: Re: Calcular la letra del CIF Date: Sat, 21 Sep 2002 02:06:28 +0200 Organization: Telefonica Data Espagna Lines: 50 Message-ID: <slrnaone04.7k6.claudio@nntp.tralari.com> References: <44sfma.782.ln@linux.local> <3D8B9215.2020804@lycos.es> NNTP-Posting-Host: 139.red-80-59-173.pooles.rima-tde.net Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: nsnmrro2-gest.nuria.telefonica-data.net 1032568376 11431 80.59.173.139 (21 Sep 2002 00:32:56 GMT) X-Complaints-To: usenet@nsnmrro2-gest.nuria.telefonica-data.net NNTP-Posting-Date: Sat, 21 Sep 2002 00:32:56 +0000 (UTC) User-Agent: slrn/0.9.7.4 (Linux)