参加完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;
}