uva oj起步

       参加完HW软件训练营,10天培训下来收获了很多。感触最深的是:实践少,错误多。究其原因:自身代码量不足,编的少导致编程时bug不断。来同组科班出身的复旦交大的同学代码能力明显高我n个数量级。

      作为学电子半路出家我,压力山大。。。没有过硬的编程能力以后的开发之路只怕是越来越窄。

虽然暂时落后,但我坚信勤能补拙,努力点慢慢的我可以超过他们。

     身边的同学推荐我UVA oj来提高编程能力,另一方面打算研读cs经典的书籍,尽快的让自己能力得到提升。

好吧,开始说说UVA oj的感受。准备工作,读题:全英文的试题读的我真是个累,不过还好能明白意思。

开始做uva 100,此题做了我1个多小时才搞定。主要总结下:

1.考虑问题要全面 2.数据类型的选择,初始化3.变量的作用域 4.边界值得选择。。。

        

#include <iostream>
using namespace std;

int main(){
	//two number : m n;
	long m=0,n=0;
	long tmp=0;
    	bool flag =false;//control the order of print variables m and n;
	long max=0;//store the max count number
	while(cin>>m>>n){
		if(m>n){
			flag =true;
			tmp = m;
			m = n;
			n =tmp;
		}

	
		for(long i =m;i<=n;i++)
		{	
			long count=1;
			long k=i;
			while(k!=1){
				if(k%2==0)
					k/=2;
				else
					k=k*3+1;
				count++;
			}
			if(max<count)
				max = count;
		}

		if(flag){
			cout<<n<<" "<<m<<" "<<max<<endl;
			
		}
		else{
			cout<<m<<" "<<n<<" "<<max<<endl;
		}
		
	}

	return 0;

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值