这是一个PB写的函数
private function double of_mult (double adbl_x, double adbl_p, double adbl_m);
Double ldbl_y = 1
Do While adbl_p > 0
Do While ( adbl_p / 2) = Long(adbl_p / 2)
adbl_x = Mod(adbl_x * adbl_x, adbl_m)
adbl_p = adbl_p / 2
Loop
ldbl_y = Mod(adbl_x * ldbl_y, adbl_m)
adbl_p = adbl_p - 1
Loop
Return ldbl_y
end function
请大家帮个忙把它用Delphi写成同样功能的函数.十分感谢!!!
private function double of_mult (double adbl_x, double adbl_p, double adbl_m);
Double ldbl_y = 1
Do While adbl_p > 0
Do While ( adbl_p / 2) = Long(adbl_p / 2)
adbl_x = Mod(adbl_x * adbl_x, adbl_m)
adbl_p = adbl_p / 2
Loop
ldbl_y = Mod(adbl_x * ldbl_y, adbl_m)
adbl_p = adbl_p - 1
Loop
Return ldbl_y
end function
请大家帮个忙把它用Delphi写成同样功能的函数.十分感谢!!!
var
ldbl_y: double;
begin
ldbl_y := 1;
While adbl_p > 0 do begin
While ( adbl_p / 2) = adbl_p div 2 do begin
adbl_x := Mod(adbl_x * adbl_x, adbl_m);
adbl_p := adbl_p / 2;
end;
ldbl_y := Mod(adbl_x * ldbl_y, adbl_m);
adbl_p := adbl_p - 1;
end;
result:= ldbl_y;
end;