正の整数 n の整数平方根は、2 乗が n 以下の最大の整数です。(たとえば、7 の整数の平方根は 2 で、9 の平方根は 3 です)。
これが私の試みです:
intSquareRoot :: Int -> Int
intSquareRoot n
| n*n > n = intSquareRoot (n - 1)
| n*n <= n = n
必要に応じて再帰とともに n が減少するため、機能していないと推測していますが、これは Haskell であるため、変数を使用して元の n を保持することはできません。