[讨论] 和大家交流一个GCC编程中的问题##

37°男人   2012-5-24 15:23 楼主

问题1:double类型的范围?
     double          +/- 1.79769e+308

     中的e表示什么意思
     这里是10的308次方吗,还是2.818的308次方。

 

问题2:超级最小公倍数

QQ截图20120524151509.jpg

  1. #include <stdio.h>

  2. int main()
    {
     unsigned long a = 0,b = 0,k = 0;
        do
        {
      scanf("%ld %ld",&a,&b);
            if((a+b)==0)
       break;
            if(a<b)
       k = a;
            else
       k = b;
            while(!((k%a==0)&&(k%b==0)))
            {
                    if(k == 1)
        break;
        k--;
            }
            printf("%d\n",a*b/k);
        }
        while((a+b)>0);
     return 0;
    }

 

请大家一起看一下这个代码,怎么可以转为double类型,

可以运算出13548070123626141这个值!!!

大家一起来讨论一下,发表一下看法。

邮箱:ternence.hsu@foxmail.com

回复评论 (4)

问题1好说:
就是10的308次方

问题2,那得想想了
强者为尊,弱者,死无葬身之地
点赞  2012-5-24 15:39
关于问题2,有个地方我想不懂
LZ为什么说他转化成了double型,这个代码段里从头到尾只有整型,没有浮点数啊。
强者为尊,弱者,死无葬身之地
点赞  2012-5-24 15:42
辛昕,你的我的偶像,向你学习!

问题2,是因为长整型的范围不够,题目的要求是10的100次方范围内,只要double类型才可以达到
点赞  2012-5-24 15:57

回复 4楼 37°男人 的帖子

,,,,偶,,偶像,,,别吓我......

哦,那你就直接用 double来做运算咯
强者为尊,弱者,死无葬身之地
点赞  2012-5-24 16:02
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复