Foro de elhacker.net

Programación => Ejercicios => Mensaje iniciado por: nibble en 30 Julio 2004, 21:44 pm



Título: Ejercicio de C
Publicado por: nibble en 30 Julio 2004, 21:44 pm
Este es un ejercicio de C,bastante simple k puede tener sus utilidades.
Consiste en comprobar k una codificacion de tarjeta de credito es valida,y si nos es valida t dice k numero tienes k cambiarle para hacerla valida,no sirev para sacar dinero por supuesto,pero hay muchas paginas k t piden el numero de tarjeta solo para comprobar k eres mayor de edad,asi k con este programita n tendras k meter tu numero de cuenta.
la codificacion es la siguiente:
El numero se compone de tres partes principales:
Los 4 primeros digitos componen el identificativo del banco que cede la tarjeta.hay un numero diferente para cada banco(esto se busca en internet).
El 5 digito es el tipo de tarjeta e indica que entidad financiera gestiona esta tarjeta.Las mas importantes son Visa(4),american Expres(3),Master card(5),Discover(6).
los 10 digitos siguientes componen el numero de usuario e identifican a este de manera unica.
Digito de control es el ultimo numero y se obtiene aplicando un algoritmo al resto del numero.
El formato es el siguiente 1111 2333 3333 3334
algoritmo de codificacion:
Se realiza en tres pasos.
Si tenemos el numero de la tarjeta 4539 4512 0398 7356 y keremos comprobar k es valido:

1.Multiplicamos por dos los numeros de las posiciones imapres(4-3-4-1-0-9-7-5) y dejarlos con un solo digito.
4*2=8
3*2=6
4*2=81*2=2
0*2=0
9*2=18-->1+8=9
7*2=14--->1+4=5
5*2=10--->1+0=1

2.Sumar los digitos de las posiciones pares y los nuevos de las posiciones impares.
5+9+5+2+3+8+6+     8+6+8+2+0+9+5+1=80

3.Si el resultado es multiplo de 10 entonces el numero es valido.80Es un nuemro valifdo por lo k el numero de tarjeta es valido.



Título: Re: Ejercicio de C
Publicado por: soplo en 31 Julio 2004, 16:36 pm
Agregado a los ejercicios.

ˇGracias!
 :D


Título: Re: Ejercicio de C
Publicado por: Kpax en 4 Mayo 2005, 00:24 am
Este ejercicio resulta interesante :

NO SE PUEDEN USAR ARREGLOS NI LISTAS SOLO SE PUEDEN USAR NUMEROS TIPO INT.
Se tienen 3 numeros de tipo int ,por ejemplo

445566 231 111112233

luego se tiene un numero k y x.
entonces se pide

1.-tomar los 3 numeros como si fueran uno solo
2.-rotar en grupos de x digitos k posiciones ,a la derecha si k es positivo o a la izquierda si k es negativo.

por ejemplo para x=5 y k=-2

seria

445566 231 111112233
556443 116 211211323

44556->55644
62311->31162
11112->12111
233->323

Espero lo resuelvan
bytes!