uvaoj 694 - The Collatz Sequence
来源:互联网 发布:生命游戏c语言代码 编辑:程序博客网 时间:2024/06/05 00:17
/*刘哥啊你可把我害惨了啊你口口声声提醒要用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;}