菜的一批,只会T1。
所以就滚粗来写T1题解了../kk
思路
给你一个数x然后,然后让你求离他最近的完全平方数
显然,我们可以将x开根号,然后将得到的那个数a和a + 1的平方看看那个于x的差的绝对值小就输出那个,,
code
#include <bits/stdc++.h> #define ll long long #define N 100010 #define M 1010 using namespace std; ll read() { ll s = 0, f = 0; char ch = getchar(); while (!isdigit(ch)) f |= (ch == '-'), ch = getchar(); while (isdigit(ch)) s = s * 10 + (ch ^ 48), ch = getchar(); return f ? -s : s; } int main() { ll x = read(); ll a = sqrt(x); ll ans1 = a * a, ans2 = (a + 1) * (a + 1); if (abs(x - ans1) < abs(x - ans2)) cout << ans1; else cout << ans2; }