首页 > 试题广场 >

B=A×A

[编程题]B=A×A
  • 热度指数:803 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}对于给定的整数 b,请你求解这样的最大整数 a,使得 a \times a \leq b

输入描述:
\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\left(1\leq T\leq 10^5\right) 代表数据组数,每组测试数据描述如下:
\hspace{15pt}在一行上输入一个整数 b\left(1\leq b\leq 10^{18}\right) 代表给定的整数 b


输出描述:
\hspace{15pt}对于每一组测试数据,新起一行,输出一个整数 a,表示满足条件的最大整数。
示例1

输入

4
1
4
12
25

输出

1
2
3
5
头像 Ldh1315109
发表于 2025-11-07 16:42:37
def solve(testcase): n = II() m = int(sqrt(n)) while (m + 1) * (m + 1) <= n: m += 1 while m * m > n: m -= 1 展开全文
头像 While1729
发表于 2025-12-01 20:14:59
import sys import math def main(): input=sys.stdin.read().split() t=int(input[0]) for i in range(1,t+1): b=int(input[i]) s 展开全文
头像 自由的风0450
发表于 2025-11-14 20:36:13
#include <iostream> using namespace std; typedef long long ll; ll find(ll b){ ll l=1,r=1e9; ll idx=0; while(l<=r){ ll mid 展开全文
头像 glerium
发表于 2025-12-06 21:14:21
#include <iostream> #include <cmath> using namespace std; int main() { int t; cin >> t; while(t--) { long long b; c 展开全文