28 Mayıs 2009, PERŞEMBE
Eşleme iki eşsiz ve deterministik bir şekilde bir tamsayı,
Tek tamsayı C. ikisini birleştirmek istiyorum iki pozitif tamsayılar A ve B düşünün
C. için bir araya gelen diğer tamsayılar D ve E olamaz hayır Yani toplama operatörü ile birleştirerek çalışmıyor. Eg 30 10 = 40 = 40 0 = 39 1 Ne concatination çalışır. "" "2" = 312 = "3" "12" . 31 Eg
Bu arada operasyon da deterministik (her zaman aynı girdiler ile aynı sonucu verim) olmalıdırveher zaman tamsayılar pozitif veya negatif tarafı da bir tam sayı verecektir.
CEVAP
28 Mayıs 2009, PERŞEMBE
NxN -> N
örten bir eşleme arıyorsunuz. Bu örneğin dovetailing için kullanılır. Sözde giriş için this PDF bakabilirsinizeşleştirme fonksiyonları. Vikipedi özel bir eşleştirme işlevi, yani Cantor pairing function tanıtır:
- pı () k1, k2 = 1/2(k1, k2)(k1 k2 1) k2
Üç açıklamalar:
- Başkalarının ortaya koyduğu gibi, Eğer eşleştirme işlevi uygulamak için planlıyorsanız, yakında keyfi büyük tamsayı (bignums) ihtiyacınız olabilir.
- Eğer çift (a, b) ve (b, a) arasında bir ayrım yapmak istemezsin eğer doğru değilse, o zaman eşleştirme işlevini uygulamadan önce a ve b gibi.
- Aslında yalan söyledim.
ZxZ -> N
örten bir eşleme arıyoruz. Cantor fonksiyonu sadece negatif olmayan sayılar üzerinde çalışır. Bu kolayf : Z -> N
, Böyle bir tanımlansın tanımlamak için, çünkü bu bir sorun değildir,:- f(n) = n 2*n >= 0
- f(n) = -n * 2 - 1n < 0
Bunu Paylaş:
Bir tamsayı verimli şekilde basamak sa...
Hızlı bir şekilde hesaplamak için 128-...
Bir şekilde bir işaretleme açıklama va...
git heroku master İzni (açık anahtarlı...
Nasıl tamsayı biçiminde NSDate gün, ay...