| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1058 人关注过本帖
标题:zoj1962题,求大神指导为什么wrong answer,vc已通过
只看楼主 加入收藏
ren1375342
Rank: 2
等 级:论坛游民
帖 子:33
专家分:46
注 册:2012-12-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:12 
zoj1962题,求大神指导为什么wrong answer,vc已通过
How Many Fibs?

--------------------------------------------------------------------------------

Time limit: 1 Seconds   Memory limit: 32768K   
Total Submit: 56   Accepted Submit: 37   

--------------------------------------------------------------------------------
Recall the definition of the Fibonacci numbers:
f1 := 1
f2 := 2
fn := fn-1 + fn-2 (n >= 3)

Given two numbers a and b, calculate how many Fibonacci numbers are in the range [a, b].


Input

The input contains several test cases. Each test case consists of two non-negative integer numbers a and b. Input is terminated by a = b = 0. Otherwise, a <= b <= 10^100. The numbers a and b are given with no superfluous leading zeros.


Output

For each test case output on a single line the number of Fibonacci numbers fi with a <= fi <= b.


Sample Input

10 100
1234567890 9876543210
0 0


Sample Output

5
4

代码
#include <stdio.h>
#include <math.h>
int main()
{
    double a,b,n,sum;
    int i,j;
    scanf("%lf%lf",&a,&b);
    while(a!=0||b!=0)
    {
    sum=0;
    j=0;
     for(i=1;sum<=b;i++)
     {
         sum=((5+3*sqrt(5))/10)*pow(((1+sqrt(5)))/2,(double)(i-1))+((5-3*sqrt(5))/10)*pow(((1-sqrt(5)))/2,(double)(i-1));
         if(sum>=a)
             j++;
     }
     printf("%d\n",j-1);
    scanf("%lf%lf",&a,&b);
    }
   return 0;
}

[ 本帖最后由 ren1375342 于 2012-12-4 14:21 编辑 ]
搜索更多相关主题的帖子: 指导 definition contain numbers 
2012-12-04 14:11
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
how many Fibonacci numbers are in the range [a, b].

你求的是啥 啊  这句话我都看懂了  

DO IT YOURSELF !
2012-12-04 14:34
ren1375342
Rank: 2
等 级:论坛游民
帖 子:33
专家分:46
注 册:2012-12-4
收藏
得分:0 
回复 2楼 wp231957
输入区间内的斐波那契数的个数

如果您想找一份编写软件的工作, 则首先您应该能够回答 "是" 的一个问题就是:"请问,您会使用c吗?"
2012-12-04 14:47
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
此题目不好做啊
int范围内的到没什么  上升到_int64就慢起来了啊

DO IT YOURSELF !
2012-12-04 16:08
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 

Time limit: 1 Seconds   Memory limit: 32768K   
a <= b <= 10^100


[fly]存在即是合理[/fly]
2012-12-04 16:28
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:3 
这么大的数你用double怎么保证正确性?用数组模拟大数运算
2012-12-04 16:45
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:3 
Fibonacci数列中位于 1000000000 和 9999999999 之间的数共有4个.
分别是:
1836311903
2971215073
4807526976
7778742049
计算Fibonacci数列共耗时157.093秒,好艰难啊

DO IT YOURSELF !
2012-12-04 19:09
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:5 
157秒?没那么夸张吧?老哥你的代码一定哪儿有问题。

fibonacci数列的一个性质是相邻两项的比约为1.618,由此可以估算f(n) ≈ 1.618^n ≈ 10^100 => n ≈ 100 * ln(10) / ln(1.618) ≈ 500
 
每一项用字符串保存,串长不超过100,那么初始化需要不到50000次加法运算。

之后就完全用字符串比较找到a、b对应的下标做差即是结果。

由于fibonacci数列是单调的,所以寻找a、b的过程可以使用二分法,找一个数只需要不超过9次字符串比较。

所有这些过程执行耗时应该不超过1毫秒。即使有上万个case也花不了多少时间。

重剑无锋,大巧不工
2012-12-04 21:21
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
杨兄弟,10的100次幂 就是1后面跟100个0  那么大的数  咋弄啊 就是_int64也不行啊

DO IT YOURSELF !
2012-12-04 21:27
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:5 
老哥还记得小学时咱们是怎么列竖式做加法的吧。

用一个数组来保存每一位,然后把要加的两个数从低位对齐了,一位一位的加,和超过10了就进一位(做个进位标记)

下一位加的时候除了对齐位置上的两位相加再加上进的位。

计算机模拟这个过程就是了。

老哥有兴趣就不妨自己试试。

之后有兴趣我们还可以聊聊怎么做减法、乘法、除法、求模(余数),以及N进制下各种大数的表示与运算。

再还有兴趣我们还可以聊聊小数,定点数、浮点数的运算等等。

呵呵,祝老哥学的开心。

重剑无锋,大巧不工
2012-12-04 21:49
快速回复:zoj1962题,求大神指导为什么wrong answer,vc已通过
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028142 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved