İnsanlar bana bir sayı karesinin kendisinin çarptığı sayı olduğunu söyleyip duruyorlar. Bu açıkça yanlıştır. Bir sayıyı karelemenin doğru yolu, bir kareye dönüştürmektir, üstündeki basamak sayısına eşit sayıda üst üste istifleyerek ve ardından elde edilen kareden tüm sayıları her iki yatay olarak da okumaktır. yalnızca soldan sağa) ve dikey olarak (yalnızca yukarıdan aşağıya) ve sonra bunları birlikte ekleyin. Öyleyse, 123 sayısı için önce kareyi yaratın:
123
123
123
Sonra tüm satırları ve sütunları kareden alın ve birleştirin:
123+123+123+111+222+333
Bu bize sonucunu veriyor 1035
.
Negatif sayılar için, yığın normalde (yalnızca sayısını unutmayın basamak ve sonra (negatif işaretler) normalde yatay sayıları okuyun ve sonra negatif işaretleri görmezden negatif işareti uzunluğu dahil değildir, bu yüzden) dikey sayılar. Yani, sayı -144
için kare olsun:
-144
-144
-144
Hangisi bize -144-144-144+111+444+444
, hangisi eşittir567
Yalnızca bir rakam olan sayılar için kare her zaman iki katına çıkar (eşit olarak bir kez yatay ve bir kez okunur). Yani 4
bize verir
4
Hangisi bize 4+4
, hangisi eşittir 8
.
Ondalık kısım içeren sayılar için normal şekilde istifleyin (sayıyı istifleme sayınızda yalnızca rakamların sayıldığını unutmayın; bu nedenle ondalık sayı sayılmaz) ve dikey sayıları okurken ondalık sembolleri yok sayın. Örneğin, sayı 244.2
bize verir
244.2
244.2
244.2
244.2
Hangisi bize 244.2+244.2+244.2+244.2+2222+4444+4444+2222
, hangisi eşittir 14308.8
.
Kesirli ya da karmaşık sayılar kesilemez.
Senin görevin:
Sayıları elle karıştırmaktan bıktım, bu yüzden işlemi otomatikleştirmeye karar verdim. Bana bir float veya string alan, hangisini tercih ederseniz edin, girdi olarak alın ve yolumun karesini almanın sonucunu döndüren bir program veya işlev yazın.
Örnekler:
123 -> 1035
388 -> 3273
9999 -> 79992
0 -> 0
8 -> 16
-6 -> 0
-25 -> 27
-144 -> 567
123.45 -> 167282.25
244.2 -> 14308.8
2 -> 4
-0.45 -> 997.65
0.45 -> 1000.35
puanlama:
Ellerim tüm bu kareleri yazmaktan sıkılıyor ve bilgisayarım kopyala / yapıştır özelliğini desteklemiyor, bu nedenle yazmam için en az kod içeren giriş (bir nedenden dolayı bayt cinsinden ölçülür) kazanıyor!
244.2
bir şamandıra numarası değil. Dizeye dönüştürülemez "244.2"
.