Kare sayılar , n^2
n'nin bir tamsayı olduğu biçimdeki rakamlardır . Bunlara mükemmel kareler de denir, çünkü karekökünü aldığınızda bir tamsayı elde edersiniz.
İlk 10 kare sayı: ( OEIS )
0, 1, 4, 9, 16, 25, 36, 49, 64, 81
Üçgen sayılar , eşkenar üçgen oluşturabilen sayılardır. N'inci üçgen sayı, 1'den n'ye kadar olan tüm doğal sayıların toplamına eşittir.
İlk 10 üçgen sayı: ( OEIS )
0, 1, 3, 6, 10, 15, 21, 28, 36, 45
Kare üçgen sayılar , hem kare hem de üçgen olan sayılardır .
İlk 10 kare üçgen sayı: ( OEIS )
0, 1, 36, 1225, 41616, 1413721, 48024900, 1631432881, 55420693056, 1882672131025, 63955431761796
Sonsuz sayıda kare sayı, üçgen sayı ve kare üçgen sayı vardır.
Bir girdi (parametre veya stdin) numarası verilen n
, n
kare üçgen sayısını hesaplayan ve çıktısını veren / döndüren bir program veya adlandırılmış bir işlev yazın ; burada n, pozitif sıfır olmayan bir sayıdır. (N = 1 için 0 döndürür)
Programın / fonksiyonun geçerli bir sunum olması için, en azından 2 ^ 31-1'den küçük tüm kare üçgen sayılarını döndürebilmesi gerekir.
Bonus
2 ^ 63-1'den küçük tüm kare üçgen sayıları çıktılamak için -4 bayt
Herhangi bir boyutta kare üçgen sayıları teorik olarak çıktılamak için -4 bayt.
Polinom olmayan zaman alan çözümler için +8 bayt ceza.
Bonuslar yığını.
Bu kod-golf meydan okuma, bu yüzden en az bayt ile cevap kazanır.
n
adımdır çünkü adımlar vardır ve her adımda aritmetik doğrusal zaman alır çünkü basamak sayısı doğrusal olarak artar n
. Doğrusal zamanın mümkün olduğunu düşünmüyorum. Aritmetik işlemlerin sabit zaman olduğunu söylemediğiniz sürece?