• 13-11-2014, 01:30:18
    #1
    merhaba arkadaşlar şöyle birşey mümkün mü aklıma bir algoritma gelmedi size danışayım dedim.

    a,b,c,d,e,f,g.... diye gidicek sonra
    aa,ab,ac,ad,... sonra
    ba,bb,bc,bd,... sonra
    ca,cb,cc,cd,... sonra 3lu karakter gecicek
    aaa,aab,aac,aad... diye diye gidicek

    umarım anlatabilmişimdir örnek 5 karakter dicez 5 karakterin tüm hepsini yazdırıcak şekilde.
  • 13-11-2014, 02:15:49
    #2
    Öncelik ile şunu bilmemiz gerekiyor php'de. (bilmeyenler için)

    $i=1;
    $i++;
    echo $i;
    yaptığımızda sonuç dogal olarak 2 çıkıyor. ++ artırma işlemlerinde kullanılıyor.

    Fakat

    $i=a;
    $i++;
    echo $i;
    yaptıgımızdada sonuç olarak b çıkacak, yani sadece rakam artırmaya yaramıyor bu ++ olay.

    Gelelim sorumuzun cevabına:

    function CreatAlp($limit) {
    	$count=1;
    	for ($i = 0; $i < $limit; $i++) {
    		$var .= 'a';
    		$count = $count * 26;
    	}
    	for ($i = 0; $i < $count; $i++) {
    		
    		$Alp .= $var++ . ', ';
    	}
    	return $Alp;
    }
    
    echo CreatAlp(2);
    Aslında kod gayet anlaşılır sadece ufak bir algoritma gerekiyor. alfabede 26 harf var. biz kaç basamaklı istiyorsak o kadar o sayıyı çarpmamız gerekiyor.Başka türlüde yapılabilir benim aklıma bu geldi kısa.
  • 13-11-2014, 02:20:44
    #3
    Eygun adlı üyeden alıntı: mesajı görüntüle
    Öncelik ile şunu bilmemiz gerekiyor php'de. (bilmeyenler için)

    $i=1;
    $i++;
    echo $i;
    yaptığımızda sonuç dogal olarak 2 çıkıyor. ++ artırma işlemlerinde kullanılıyor.

    Fakat

    $i=a;
    $i++;
    echo $i;
    yaptıgımızdada sonuç olarak b çıkacak, yani sadece rakam artırmaya yaramıyor bu ++ olay.

    Gelelim sorumuzun cevabına:

    function CreatAlp($limit) {
    	$count=1;
    	for ($i = 0; $i < $limit; $i++) {
    		$var .= 'a';
    		$count = $count * 26;
    	}
    	for ($i = 0; $i < $count; $i++) {
    		
    		$Alp .= $var++ . ', ';
    	}
    	return $Alp;
    }
    
    echo CreatAlp(2);
    Aslında kod gayet anlaşılır sadece ufak bir algoritma gerekiyor. alfabede 26 harf var. biz kaç basamaklı istiyorsak o kadar o sayıyı çarpmamız gerekiyor.
    çok teşekkürler hocam peki şöyle birşey yapılabilir mi.

    mesela 1 numara = a
    27 = aa
    270 = aaa

    sayı vererek onun eşit olduğu karakteri bulabilirmiyiz acaba
  • 13-11-2014, 02:29:12
    #4
    function CreatAlp($limit) { 
        $count=1; 
        for ($i = 0; $i < $limit; $i++) { 
            $var .= 'a'; 
            $count = $count * 26; 
        } 
        $AlpArray= array();
        for ($i = 0; $i < $count; $i++) { 
             
            $AlpArray[] = $var++; 
        } 
        return $AlpArray; 
    } 
    
    $veri=CreatAlp(2);
    echo $veri[0]; // çıktısı a olacaktır.
    print_r($veri);
    Verileri Array'a atadıktan sonra sayı ile bulabiliriz.
  • 13-11-2014, 02:32:03
    #5
    Eygun adlı üyeden alıntı: mesajı görüntüle
    function CreatAlp($limit) { 
        $count=1; 
        for ($i = 0; $i < $limit; $i++) { 
            $var .= 'a'; 
            $count = $count * 26; 
        } 
        $AlpArray= array();
        for ($i = 0; $i < $count; $i++) { 
             
            $AlpArray[] = $var++; 
        } 
        return $AlpArray; 
    } 
    
    $veri=CreatAlp(2);
    echo $veri[0]; // çıktısı a olacaktır.
    print_r($veri);
    Verileri Array'a atadıktan sonra sayı ile bulabiliriz.
    ama ben 10lu karakterlerden secmem lazım ozamanda inanılmaz kasar sanırım hatta.

    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 35 bytes)

    hatası veriyor
  • 13-11-2014, 02:34:33
    #6
    grapyweb adlı üyeden alıntı: mesajı görüntüle
    ama ben 10lu karakterlerden secmem lazım ozamanda inanılmaz kasar sanırım hatta.

    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 35 bytes)

    hatası veriyor
    Bu işler bu kadar kolay olsaydı kırılmadık şifre kalmazdı

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 02:34:33 -->-> Daha önceki mesaj 02:33:35 --

    Ne yapmaya çalışıyorsun amacını söylersen daha yararlı olabiliriz.
  • 13-11-2014, 02:36:37
    #7
    Eygun adlı üyeden alıntı: mesajı görüntüle
    Bu işler bu kadar kolay olsaydı kırılmadık şifre kalmazdı

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 02:34:33 -->-> Daha önceki mesaj 02:33:35 --

    Ne yapmaya çalışıyorsun amacını söylersen daha yararlı olabiliriz.
    ben şifre değilde başka bir planım var

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 02:36:37 -->-> Daha önceki mesaj 02:35:02 --

    Eygun adlı üyeden alıntı: mesajı görüntüle
    Bu işler bu kadar kolay olsaydı kırılmadık şifre kalmazdı

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 02:34:33 -->-> Daha önceki mesaj 02:33:35 --

    Ne yapmaya çalışıyorsun amacını söylersen daha yararlı olabiliriz.
    şöyle anlatayım ozaman hocam belli aralıktakı isimleri kayıt edicem 10lu karakterlere kadar yapmak istiyorum acıkcası
  • 13-11-2014, 02:38:10
    #8
    ini_set("memory_limit", "250M");
    yaparak memort limitini yükseltebilirsin.
  • 13-11-2014, 02:39:06
    #9
    Eygun adlı üyeden alıntı: mesajı görüntüle
    ini_set("memory_limit", "250M");
    yaparak memort limitini yükseltebilirsin.
    ini_set("memory_limit", "-1");
    yaptım yanlız hala hata devam etmekte