人々は、数の二乗は数にそれ自体を掛けたものであると私に言い続けます。これは明らかに間違っています。数字を二乗する正しい方法は、それを数字の上に積み重ねて、数字の数と同じ数だけ積み重ねてから、結果の四角からすべての数字を水平方向に(両方から読み取ることによって)正方形にすることです(左から右のみ)および垂直方向(上から下のみ)で、それらを一緒に追加します。したがって、番号123については、最初に正方形を作成します。
123
123
123
次に、正方形からすべての行と列を取得し、それらを一緒に追加します。
123+123+123+111+222+333
の結果が得られ1035
ます。
負の数の場合、通常スタックし(桁数のみを数えるので、負の符号は長さに含まれないことに注意してください)、水平の数を通常通りに読み(負の符号付き)、次に負の符号を無視します縦の数字。したがって、数値-144
については正方形を取得します。
-144
-144
-144
これは私たち-144-144-144+111+444+444
に与えます567
1桁の数字の場合、正方形は常に2倍になった数に等しくなります(水平方向に1回、垂直方向に1回読み取られます)。だから4
私たちに与えます
4
それは私たち4+4
に与え8
ます。
小数部分のある数字の場合、通常スタックします(数字をスタックする回数には数字のみがカウントされるため、小数点はカウントされないことに注意してください)。たとえば、数字244.2
は
244.2
244.2
244.2
244.2
それは私たち244.2+244.2+244.2+244.2+2222+4444+4444+2222
に与え14308.8
ます。
小数または複素数を二乗することはできません。
あなたのタスク:
私は手作業で数字を二乗するのにうんざりしているので、プロセスを自動化することにしました。入力としてフロートまたは文字列のいずれかを受け取り、それを自分の方法で二乗した結果を返すプログラムまたは関数を作成します。
例:
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
得点:
私の手はそれらのすべての正方形を書き出すのでcr屈になっており、私のコンピューターはコピー/貼り付けをサポートしていないので、入力するコードの量が最小のエントリー(何らかの理由でバイト単位で測定されますか?)
244.2
浮動小数点数ではありません。文字列に変換できません"244.2"
。