Açıklama
Daha önce bu sayılarla ilgili başka birkaç zorluk daha vardı ve umarım bu onların arasında değildir.
N üçgen sayı inci kadar tüm doğal sayıların toplamına eşittir n , basit şeyler. Kendilerini daha fazla bilgilendirmek isteyenler için bir wikipedia sayfası ve OEIS'te bir giriş var .
Şimdi Gauss, her doğal sayının üç üçgen sayının (bunlar dahil 0
) toplamı olarak ifade edilebildiğini keşfetti ve örneğin bir kereden fazla bir sayıya sahip olmanın iyi olduğunu, örneğin 0 + 1 + 1 = 2
.
Meydan okuma
Göreviniz, doğal bir sayı (dahil 0
) verildiğinde, bir argümanı özetleyen üç üçgen sayı yazdırmak üzere bir program veya işlev yazmaktır . Boşluklarla ayrılmış sayıları dizi olarak veya istediğiniz başka bir yöntemle yazdırabilirsiniz. Bununla birlikte, bir dizi, bir aralık veya üçgen sayıların bir listesini içeren (örneğin, aralığı veren tek bir atom) bir dizi, bir aralık veya başka bir toplama şekli elde etmek için herhangi bir yerleşik işlevi kullanmak yasaktır .
Test senaryoları
9 -> 6 + 3 + 0 or 3 + 3 + 3
12 -> 6 + 6 + 0 or 6 + 3 + 3 or 10 + 1 + 1
13 -> 6 + 6 + 1
1 -> 1 + 0 + 0
0 -> 0 + 0 + 0
Not: Birden fazla olası kombinasyon varsa, herhangi birini veya tümünü yazdırabilirsiniz, ancak diğer kombinasyonları yeniden düzenlemenin sonucu olan tüm kombinasyonları ortadan kaldırarak herhangi bir kombinasyonu yalnızca bir kez yazdırmanız gerekir. Gerçekten bir denemek bağlantı ve bir açıklama takdir ediyorum, gerçekten sorunu nasıl çözdüğünü görmek için seviyorum;)
Bu kod golf , bu nedenle standart boşluklar geçerlidir. Bayttaki en kısa cevap kazanabilir!
a
her zaman üçgen bir sayı olmayacak
n
ve birinci listesini döndürür n
üçgen sayılar edilir izin? Hangisini bilmiyorum, ancak bu belirli bir dile karşı oldukça hedeflenmiş hissettiriyor.