Arka fon
Matematikte tamsayıların, tamsayı çiftleriyle birebir yazışma yapabileceği iyi bilinmektedir. Bunu yapmanın birçok olası yolu vardır ve bu meydan okumada, bunlardan birini ve ters çalışmasını uygulayacaksınız .
Görev
Girişiniz pozitif bir tamsayıdır n > 0
. Benzersiz negatif olmayan tamsayı var olduğu bilinmektedir a, b ≥ 0
, öyle ki . Çıktınız pozitif tamsayının "çevrilmiş hali" dir .n == 2a * (2*b + 1)
n
2b * (2*a + 1)
Giriş ve çıktının dilinizin standart işaretsiz tam sayı veri tipine uyduğunu varsayabilirsiniz.
Kurallar ve puanlama
Tam bir program veya bir işlev yazabilirsiniz. En düşük bayt sayısı kazanır ve standart boşluklara izin verilmez.
Test senaryoları
Bunlar formatta verilir in <-> out
, çünkü uygulanacak fonksiyon kendi tersidir: Çıktıyı geri beslerseniz, orijinal girişi almalısınız.
1 <-> 1
2 <-> 3
4 <-> 5
6 <-> 6
7 <-> 8
9 <-> 16
10 <-> 12
11 <-> 32
13 <-> 64
14 <-> 24
15 <-> 128
17 <-> 256
18 <-> 48
19 <-> 512
20 <-> 20
28 <-> 40
30 <-> 384
56 <-> 56
88 <-> 224
89 <-> 17592186044416
Liderler Sıralaması
İşte hem düzenli bir skor tablosu hem de kazananları dile göre gözden geçirmek için bir Yığın Parçacığı. Yanıtınızın göründüğünden emin olmak için lütfen aşağıdaki Markdown şablonunu kullanarak yanıtınızı bir başlıkla başlatın:
## Language Name, N bytes
N
gönderiminizin büyüklüğü nerede . Puanınızı artırmak varsa, olabilir onları içinden vurarak, başlığa eski hesapları tutmak. Örneğin:
## Ruby, <s>104</s> <s>101</s> 96 bytes
Başlığınıza birden fazla sayı eklemek istiyorsanız (örneğin, puanınız iki dosyanın toplamı olduğu veya yorumlayıcı bayrak cezalarını ayrı olarak listelemek istediğinizde), gerçek puanın başlıktaki son sayı olduğundan emin olun :
## Perl, 43 + 2 (-p flag) = 45 bytes
Dil adını, daha sonra skor tablosu snippet'inde görünecek bir bağlantı da yapabilirsiniz:
## [><>](http://esolangs.org/wiki/Fish), 121 bytes