While 8. Дано целое число N (> 0). Найти наибольшее целое число K, квадрат которого не превосходит N: \(K^2 \leq N\). Функцию извлечения квадратного корня не использовать.

Решение на Python 3

import random

N = random.randrange(1,1000)
#N = 100
print('N = ', N)

K = 1
while K*K <= N:
K += 1
K -= 1
print("K = {0}, K^2 = {1}, (K+1)^2 = {2}".format(K,K**2,(K+1)**2))

Решение на C++

#include <bits/stdc++.h>
using namespace std;

int main() {
srand((int)time(0));
int N = rand() % 1000 + 1;
cout << "N = " << N << endl;

int K = 1;
while(K*K <= N)
K += 1;
K -= 1;

cout << "K = " << K << endl;
cout << "K^2 = " << K*K << endl;
cout << "{K+1}^2 = " << (K+1)*(K+1) << endl;

return 0;
}