跪求char(98);stack<>(b棧)c++大佬幫忙,幫我看看哪里錯了
2023-06-24 22:16 作者:Compurter-4014 | 我要投稿

#include<bits/stdc++.h>
using namespace std;
int bitch(long long a)
{
if(a == 0)
{
return 0;
}
for(int i = 1;true;i ++)
{
if(i * i >= a)
{
if(abs(a - pow(i - 1, 2)) < abs(a - pow(i, 2)))
{
return 2 * (i - 1) + bitch(abs(a - pow(i - 1, 2)));
}
else
{
return 2 * i + bitch(abs(a - pow(i, 2)));
}
}
}
}
int main()
{
long long a, b = 0, s = 0, j;
cin >> a;
a = abs(a);
if(a == 0)
{
cout << 0;
return 0;
}
for(long long i = 1;s < a;i ++)
{
b ++;
s += b;
j = i;
if(s == a)
{
cout << j;
return 0;
}
}
if(abs(s - a) < abs((s - b) - a))
{
cout << j + bitch(abs(s - a));
}
else
{
cout << j - 1 + bitch(abs((s - b) - a));
}
return 0;
}
標簽: