FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Una división que me tiene bloqueado.
Necesito conocer el resto de una división. Visto así parece muy sencillo se utiliza el "mod" y ya está, pero el problema que me tiene bloqueado es que tengo que saber el resto de una división con un numero de 26 dígitos y no lo consigo hacer.
ejemplo: 00120345030000067890142800 / 97 el resto sería 91 ¿ como puedo saber el resto ? Gracias a todos Saludos |
#2
|
|||
|
|||
Pues hay que desbloquearte
Esperemos que te sirva esta funcion...
un poco maquiavelica pero jala je Código:
Function Division(CNum : String;Dividir : Int64) : LongInt; Const Entero64 = 999999999999999999; Var Mayores,Menores : Extended; ModMen,ModMay,ModConst : Int64; Begin If Length(CNum) > 18 Then Begin //quitamos primero los nulos While CNum[1] = '0' Do Delete(CNum,1,1); //Sacamos a los que no podamos transformar en entero Mayores := StrToFloat(Copy(CNum,1,Length(CNum)-18)); //Sacamos a los que podemos transformar en Enteros Menores := StrToFloat(Copy(CNum,Length(CNum)-17,10000)); //Ahora sabemos que los mayores //es igual a mayores por la const Entero64 //mas mayores //Sacamos primero el modulo de los menores ModMen := Trunc(Menores) MOD Dividir; //Sacamos el modulo de los mayores ModMay := Trunc(Mayores) MOD Dividir; //Sacamos el modulo de la constante ModConst := Entero64 MOD Dividir; //lo multiplicamos por las veces que usamos la constante ModConst := ModConst * Trunc(Mayores); //Sumamos los sobrantes y sacamos el resultado Result := (ModMen+ModMay+ModConst) MOD Dividir; //y listo.. listo End; //y si no es mayor entonces eso ya es facil End; procedure TForm1.BitBtn1Click(Sender: TObject); Var Dividir : Int64; CNum : String; begin CNum := '00120345030000067890142800'; Dividir := 97; ShowMessage(IntToStr(Division(CNum,Dividir))); end; saludos
__________________
saludos desde Puebla Mexico.. asanxt@hotmail.com "como siempre a sus ordenes y siempre con buena cara" 'lolita me excitas, perversa piel de melocotón' |
#3
|
|||
|
|||
Funciona de lujo, aunque parece mentira me has sacado de un gran problema, te debo un almuerzo, si alguna vez te pasas por Valencia, mandame un correo que te invito.
Saludos |
#4
|
|||
|
|||
Pues creo que..
Pues si va a estar dificil eso del almuerzo ya que estoy del otro lado del charco.. me basta con que te halla servido...
Saludos..
__________________
saludos desde Puebla Mexico.. asanxt@hotmail.com "como siempre a sus ordenes y siempre con buena cara" 'lolita me excitas, perversa piel de melocotón' |
#5
|
||||
|
||||
Cita:
|
|
|
|