Orang-orang terus mengatakan kepada saya bahwa kuadrat angka adalah angka yang dikalikan dengan sendirinya. Ini jelas salah. Cara yang benar untuk mengkuadratkan angka adalah dengan membuatnya menjadi kuadrat, dengan menumpuknya di atas dirinya sendiri beberapa kali sama dengan jumlah digit yang dimilikinya, dan kemudian membaca semua angka dari kuadrat yang dihasilkan, baik secara horizontal (dari hanya dari kiri ke kanan) dan vertikal (hanya dari atas ke bawah), dan kemudian menambahkannya bersama. Jadi, untuk angka 123, pertama-tama Anda membuat kotak:
123
123
123
Kemudian Anda mengambil semua baris dan kolom dari kotak, dan menambahkannya bersama-sama:
123+123+123+111+222+333
Yang memberi kita hasil 1035
.
Untuk angka negatif, Anda menumpuk secara normal (ingat bahwa Anda hanya menghitung jumlah digit , sehingga tanda negatif tidak termasuk dalam panjangnya), dan kemudian baca angka horisontal secara normal (dengan tanda negatif), lalu abaikan tanda negatif untuk angka vertikal. Jadi, untuk nomornya -144
kita mendapatkan kotak:
-144
-144
-144
Yang memberi kita -144-144-144+111+444+444
, yang sama dengan567
Untuk angka dengan hanya satu digit, kuadrat selalu sama dengan angka dua kali lipat (dibaca sekali secara horizontal dan sekali secara vertikal). Jadi 4
beri kami
4
Yang memberi kita 4+4
, yang sama dengan 8
.
Untuk angka dengan bagian desimal, susun secara normal (ingat bahwa hanya digit yang dihitung dalam berapa kali Anda menumpuk angka, dan oleh karena itu, angka desimal tidak dihitung), dan abaikan simbol desimal ketika membaca angka vertikal. Misalnya, nomor 244.2
memberi kita
244.2
244.2
244.2
244.2
Yang memberi kita 244.2+244.2+244.2+244.2+2222+4444+4444+2222
, yang sama dengan 14308.8
.
Angka pecahan atau kompleks tidak dapat dikuadratkan.
Tugas Anda:
Saya bosan menghitung angka dengan cara saya sendiri, jadi saya memutuskan untuk mengotomatiskan prosesnya. Tuliskan saya program atau fungsi yang membutuhkan float atau string, mana yang Anda suka, sebagai input dan mengembalikan hasil kuadrat dengan cara saya.
Contoh:
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
Mencetak:
Tangan saya semakin sempit karena menulis semua kotak itu, dan komputer saya tidak mendukung copy / paste, jadi entri dengan jumlah kode paling sedikit untuk saya ketik (diukur dalam byte untuk beberapa alasan?) Menang!
244.2
bukan nomor pelampung. Itu tidak dapat dikonversi ke string "244.2"
.