kendi yazdıgım çarpma fonksiyonunu paylaşayım dedim.
Fonksiyonum sayesinde 1 milyon basamaklı sayıyı da, 10 milyon basamaklı sayıyı da, 100 milyon basamaklı sayıyı da istediğiniz sayı ile çarptırabilirsiniz.
<?
function carpfatal($contents,$carpilacak)
{
$zimbirti2="";
$zimbirti="";
$kalan="0";
$strlen=strlen($contents);
for($i=1;$i<=$strlen;$i++)
{
$carp=gmp_strval(gmp_mul("$carpilacak", "".$contents[$strlen-$i].""));
$topla=gmp_strval(gmp_add($carp,$kalan));
$zimbirti.=substr($topla,-1);
$kalan=substr($topla,0,-1);
}
$strlen=strlen($zimbirti);
for($i=1;$i<=$strlen;$i++)
{
$zimbirti2.=$zimbirti[$strlen-$i];
}
$zimbirti2="$kalan$zimbirti2";
return $zimbirti2;
}
$filename = "b.txt"; //1 milyon basamaklı sayımın olduğu txt.
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
$filename2 = "carpacagim.txt"; //carpmak istediğim sayının olduğu txt
$handle2 = fopen($filename2, "r");
$contents2 = fread($handle2, filesize($filename2));
fclose($handle2);
$carptim=carpfatal($contents,$contents2);
$fg = fopen("c.txt","a"); //c.txt ye kaydediyorum sonucu
fwrite($fg,$carptim);
fclose($fg);
?>az önce 8 milyon basamaklı bir sayı ile 1000 haneli bir sayıyı çarptırdım.Sorunsuz çalışmaktadır fonksiyonum.
Kolay gelsin