输入两个正整数A, B,求[A, B]内完全平方数的个数。( 1 ≤ A ≤ B ≤ 10^9 ) 测试时输入有极大的数,如:385793959 712365911 ,因此要用long类型存储。
时间: 2024-06-14 17:04:10 浏览: 89
完全平方数是指一个数的平方根是整数的数。要求[A, B]内完全平方数的个数,可以遍历从A到B的每个数,判断该数是否是完全平方数。
以下是一个示例代码:
```python
import math
def countPerfectSquares(A, B):
count = 0
for num in range(A, B+1):
if math.isqrt(num) ** 2 == num:
count += 1
return count
A = 385793959
B = 712365911
count = countPerfectSquares(A, B)
print(count)
```
该代码首先导入math模块,然后定义了一个函数`countPerfectSquares`来计算[A, B]内完全平方数的个数。在函数中,使用一个循环遍历从A到B的每个数,然后使用`math.isqrt`函数来判断该数是否是完全平方数。如果是完全平方数,则计数器`count`加1。最后返回计数器的值。
在主程序中,给定了A和B的值,然后调用`countPerfectSquares`函数来计算完全平方数的个数,并将结果打印出来。
相关问题
输入两个正整数A, B,求[A, B]内完全平方数的个数。( 1 ≤ A ≤ B ≤ 10^9 )
以下是一个求解[A, B]内完全平方数个数的Python程序示例:
```python
import math
def count_perfect_squares(A, B):
count = 0
for i in range(A, B+1):
if math.isqrt(i)**2 == i:
count += 1
return count
A = int(input("请输入A的值:"))
B = int(input("请输入B的值:"))
result = count_perfect_squares(A, B)
print("在[%d, %d]内的完全平方数个数为:%d" % (A, B, result))
```
java输入两个正整数A, B,求[A, B]内完全平方数的个数。( 1 ≤ A ≤ B ≤ 10^9 )
以下是Java求[A, B]内完全平方数个数的示例代码:
```java
import java.util.Scanner;
public class CountPerfectSquares {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入正整数A:");
int A = scanner.nextInt();
System.out.print("请输入正整数B:");
int B = scanner.nextInt();
int count = 0;
for (int i = A; i <= B; i++) {
if (isPerfectSquare(i)) {
count++;
}
}
System.out.println("在[" + A + ", " + B + "]内的完全平方数个数为:" + count);
}
// 判断一个数是否为完全平方数
public static boolean isPerfectSquare(int num) {
int sqrt = (int) Math.sqrt(num);
return sqrt * sqrt == num;
}
}
```