D28. 题目练习
这次一样是练3n+1的题目,之前是用C语言,这次用C++来写
#include<iostream>using namespace std;int main(){ int n; cin>>n; while(n!=1){ if(n%2==0){ n=n/2; } else{ n=n*3+1; } cout << n <<" ";}cout << endl;return 0;}
进阶(uva100)
#include<iostream>using namespace std;int main(){ int a,x,y,n,i,j,count=1,max=1; while(cin>>i) { cin>>j; count=1;max=1; if(i>j) { cout<<i<<" "<<j<<" "; x=i; i=j; j=x; } else cout<<i<<" "<<j<<" "; for(a=i;a<=j;a=a+1) { n=a;count=1; while(n!=1){ if(n%2==1) {n=n*3+1; count=count+1; } else {n=n/2; count=count+1; }} if(count>max) {max=count;} } cout<< max<<endl; } return 0;}
跟C语言的差别其实只在输入输出的地方而已,所以在语言转换过程并不难