Arka fon
Eşit büyüklükte bir grup kare şekilli kutum var ve düzgün bir insan olduğumdan, hepsini kare bir forma yerleştirmek istiyorum. Ancak, sayıları mutlaka mükemmel bir kare değildir, bu yüzden kare şeklini yaklaşık olarak tahmin etmek zorunda kalabilirim. En estetik açıdan en hoş düzenlemeyi bulmanı istiyorum - tabii ki programlı olarak.
Giriş
Girişiniz kkutu sayısını temsil eden tek bir pozitif tam sayıdır .
Çıktı
Programınız iki pozitif tamsayılar seçecektir m, nşekilde m*(n-1) < k ≤ m*ntutar. Düzenlediğimiz büyük kare benzeri şeklin genişliğini ve yüksekliğini temsil ediyorlar. Estetik açıdan hoş şekiller aradığımız için miktar minimum olacak, böylece şekil bir kareye yakın ve alanı yakın olacak . Çift için hala birkaç aday varsa , genişliğin en fazla olduğu adayı seçin .(m - n)2 + (m*n - k)2k(m, n)m
Şimdi, gerçek çıktı eder değil numaralarını olmak mve n. Bunun yerine, #bir kutuyu temsil eden karakteri kullanarak kutuların düzenini yazdırmalısınız . Daha spesifik olarak, n-1her biri mkarakterlerden oluşan satırlar #ve ardından bir k - m*(n-1)karakter satırı yazdırırsınız #. Çıktının tam olarak kkarakterler içerdiğini unutmayın #.
Kurallar ve Puanlama
Çıktıda herhangi bir ön veya arka boşluk olmamalıdır, ancak son satır mistenirse uzunluğunda boşluk olacak şekilde doldurulabilir . Sonunda bir satırsonu olabilir, ancak bir satırsonu yoktur. #İstenirse, herhangi bir yazdırılabilir ASCII karakteri kullanabilirsiniz .
Tam bir program yazabilir veya bir işlevden dize döndürebilirsiniz. En düşük bayt sayısı kazanır ve standart boşluklara izin verilmez.
Test Durumları
Birkaç giriş değeri için doğru çıkışlar.
1
#
2
##
3
##
#
4
##
##
8
###
###
##
13
#####
#####
###
17
######
######
#####
18
#####
#####
#####
###
20
#####
#####
#####
#####
21
######
######
######
###
22
######
######
######
####
23
#####
#####
#####
#####
###