ユーザが入力した数値から列と行を動的に計算するテーブルを作成したいとします。そのために、数値から列と行として最も近い2つの数値を計算したいと思います。PHPを使用した最大2倍の数値
たとえば、ユーザーが10を入力した場合、スクリプトは行を3または4として計算し、合計などの3または4の列は10になります。
3*3+1 = 10
誰かが4を入力した場合、2列と2行が生成されます。 2と2を返します。 が10の場合、3列と4行が生成されます。 return 3 and 4
ユーザが入力した数値から列と行を動的に計算するテーブルを作成したいとします。そのために、数値から列と行として最も近い2つの数値を計算したいと思います。PHPを使用した最大2倍の数値
たとえば、ユーザーが10を入力した場合、スクリプトは行を3または4として計算し、合計などの3または4の列は10になります。
3*3+1 = 10
誰かが4を入力した場合、2列と2行が生成されます。 2と2を返します。 が10の場合、3列と4行が生成されます。 return 3 and 4
ここで必要なのは、入力の平方根を求めて床の値を取得することです。例:入力= 10の場合、sqrt(10)= 3.16227766017。今
、だから、床値すなわち3 を取得し、次元が何かを追加する必要があるかどうかを確認、3次
3です。$dim = floor(sqrt($input));
$nearest = $input - ($dim * $dim);
if ($nearest) {
printf("Nearest dimensions of %d = %d x %d + %d", $input, $dim, $dim, $nearest);
} else {
printf("Nearest dimensions of %d = %d x %d", $input, $dim, $dim);
}
: - 式は最寄り=入力することができます(寸法*寸法)だから、
、最終的な計算は、これはあなたの目的を解決する寸法*寸法+最も近い(ない場合は0)
ですとき$input = 4
、出力:Nearest dimensions of 4 = 2 x 2
$input = 10
、出力:Nearest dimensions of 10 = 3 x 3 + 1
がexplaiくださいそれはもっとはっきりと分かります。行番号は?および列番号。同じですか? –
いいえ...誰かが4を入力した場合、2行2列が生成されます。それが10の場合はn 3列と4行です。 –