URAL入门弱智题,求解

alexsunmiu 2014-10-05 06:18:11
刚准备刷题,结果第一题。。。就过不去。。。不知何解:
URAL 1001 Reverse Root http://acm.timus.ru/problem.aspx?space=1&num=1001
我的代码如下,始终过不去:

#include <stdio.h>
#include <math.h>

int main()
{
int pos = 0;
long temp = 0;
double dst[70000];

while(scanf("%ld", &temp) != EOF)
dst[pos++] = sqrt((double)temp);

while(pos--)
printf("%0.4lf\n", dst[pos]);

return 0;
}


总是提示 wrong answer,可我本地试了很多遍,与其结果输入输出对照,也是正确的。。。

求助。
...全文
487 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
穆林幕 2014-10-17
  • 打赏
  • 举报
回复
数组开太小,long 换成long long 你就可以A辣 #include<iostream> #include<cstdio> #include<cmath> using namespace std; #define read freopen("q.in","r",stdin) int main() { // read; double a[140000]; int i=-1; while(cin>>a[++i]); i--; for(;i>=0;i--) printf("%.4f\n",sqrt(a[i])); }
Sky丶Memory 2014-10-05
  • 打赏
  • 举报
回复
#include<stdio.h>
#include<math.h>
int main()
{
    long long data;
    while (~scanf("%lld", &data))
    {
        double ans = sqrt(data);
        printf("%.4lf\n", ans);
    }
    return 0;
}
long 和int的范围一样,肯定存不下10^18次方,还有就是读到输入结束符才结束,所以你开的70000有可能会小

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧