作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试通过 UVA 在线法官解决此问题:http://uva.onlinejudge.org/index.php?option=onlinejudge&page=show_problem&problem=2456
A square number is an integer number whose square root is also an integer. For example 1, 4, 81 are some square numbers. Given two numbers a and b you will have to find out how many square numbers are there between a and b (inclusive).
#include <stdio.h>
int main()
{
long long int num1, num2, count = 0;
int t, i;
while (1)
{
count = 0;
scanf("%lld%lld", &num1, &num2);
if (num1 == 0 && num2 == 0)
break;
for (; num1 * num1 <= num2; num1 ++)
count++;
printf("%lld\n", count);
}
return 0;
}
在线提交过程告诉我,我的代码产生了错误的答案,但我无法弄清楚原因。谁能看到我的代码中的错误吗?
最佳答案
您遇到的第一个问题是您误解了问题陈述。
您不应该计算数字的平方
,而应该计算平方根
。
如果平方根
是一个整数,那么它才是一个平方数
。
获得正确计数的另一种方法实际上是计算平方
,但不是计算从a
到b
的数字,而是根据a 的平方根
到b 的平方根
。
关于c - 代码哪里错了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26937790/
我无法在附加行中显示“真”、“假”、"is"和“否”按钮。 我在这里有一个应用程序:Application 请按照以下步骤使用应用程序: 1。当你打开应用程序时,你会看到一个绿色的加号按钮,点击 在此
我是一名优秀的程序员,十分优秀!