Kare sayılar , n^2n'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, nkare üç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.
nadı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?
