【发布时间】:2015-09-26 14:21:24
【问题描述】:
我已经有了计算 1 到最大范围之间完美平方数的代码:
int perfectCounter = 0;
int i = 1;
int maxRange;
scanf("%d", &maxRange);
while (i <= maxRange) {
float tempSquare = sqrt(i);
int integerPart = tempSquare;
if (tempSquare == integerPart)
perfectCounter++;
}
问题是,最大范围必须在 1 到 10^1000 之间,所以我不能将 maxRange 存储在 int、long 或 long double 上。如果不使用处理非常大数字的外部库,我想不出一个解决方案。
【问题讨论】:
-
为什么要计算1到10^1000之间的完美平方数?
-
你需要一个量子工作站,但为了简化我建议你绕道而行的方式,意味着它是方形的,不要扎根它。当数字似乎离开边界时使用模数。
标签: c