Какое минимальное количество спичек необходимо для того, чтобы выложить на плоскости n квадратов со стороной в одну спичку? Спички нельзя ломать и класть друг на друга. Вершинами квадратов должны быть точки, где сходятся концы спичек, а сторонами – сами спички.
Напишите программу, которая по количеству квадратов n, которое необходимо составить, находит минимальное необходимое для этого количество спичек.
Одно целое число n (1 ≤ n ≤ 109
).
Вывести минимальное количество спичек, требуемых для составления n квадратов.
#include "iostream"
using namespace std;
long long N, answer, M;
int main()
{
cin >> N; M = 0;
while (M*M < N) M++;
M--;
answer += M * (M+1) * 2;
answer += (N - M*M)*2;
answer++;
if (N - M*M > M) answer++;
cout << answer << endl;
}
Назад
Есть решение которого нет на сайте? Пиши admin@devexe.top