uvaoj 694 - The Collatz Sequence

/*
刘哥啊
你可把我害惨了啊
你口口声声提醒要用long long 型
我就傻傻的用long long 啊
有木有! 
C语言%lld要加stdlib
读-1还老出错啊
有木有! 
c语言过不了再用C++
才发现原来cin不支持long long 型啊!!!
有木有! 
后来实在纠结就百度了一下
原来人家用的是double啊
有木有! 
什么浮点误差啊
都被人家当成了浮云啊,有木有!!! 
有木有!!!!!!!!! 
*/
#define LOCAL    
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main()
{
#ifdef LOCAL
       freopen("input.txt","r",stdin);
       freopen("output.txt","w",stdout);
#endif
    
    double n,limit,a;
    long c=1,term;
    while(1)
    {
         cin>>n>>limit;
         a=n;
         if(n==-1&&limit==-1) return 0;
         term=1;
         while(n!=1&&n<=limit)
         {
                if(fmod(n,2)==0) n=n/2;
                else n=3*n+1;
                if(n>limit)
                break;
                term++;                       
         }
         cout<<"Case "<<setiosflags(ios::fixed) << setprecision(0)<<    //别忘了设置精度,不然会出错滴 
         c++<<": A = "<<setiosflags(ios::fixed) << setprecision(0)<<
         a<<", limit = "<<setiosflags(ios::fixed) << setprecision(0)<<
         limit<<", number of terms = "<<setiosflags(ios::fixed) << setprecision(0)<<
         term<<endl;
    }
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值