• UVA 100 3n+1


    以下是UVA 100题的解析与答案

    (所谓解析,就是能让别人不看代码也能想出代码的样子。所谓答案,就是即使不执行程序,也能看出正确的结果)

    100 - The 3n + 1 problem

    解析:这题对于初学者来说是比较难的,对于有一定经验的Acmer来说更难。

       前者因为这题需要考虑两个关键点:i,j的大小顺序和变量合理初始化。

       后者因为这题需要考虑是否会超时,很难实现题目要求的范围。

       (本人电脑上运行不起,绝对超时,在UVA上只用了0.4秒~~~~)

     1 #include <iostream>            //UVAOJ没有iostream.h文件
     2 #include <string>            
     3 using namespace std;        
     4 int main()                    //标准格式
     5 {
     6     //真正好的编程风格,是能让看到的人相信这个程序是完美至极的。    
     7     int i,j;
     8     while(cin>>i>>j){        //等同于while(scanf("%d %d",&i,&j)!=EOF)
     9         int n,m,max=0;        
    10         i<j?(n=i,m=j):(n=j,m=i);
    11         m/2>n?(n=m/2):0;        //简单剪枝
    12         int x,y;
    13         for(x=n;x<=m;x++){
    14             y=x;
    15             int tmp=1;
    16             while(y!=1){
    17                 if(y%2)            //省略了一次运算
    18                     y=y*3+1;
    19                 else
    20                     y=y>>1;        //高效运算
    21                 tmp++;
    22             }
    23             if(tmp>max)
    24                 max=tmp;
    25         }
    26         cout<<i<<' '<<j<<' '<<max<<endl;
    27     }
    28     return 0;
    29 } 

    注意,本文没有结束!

    C++是C语言的超集,虽然我只学了2个小时的C++,学会了几个单词,对象和类的概念,还有怎么在VC6.0上运行程序。

    好像某些职校在大一就安排C++课程,好像很少有人能够用C++AC这题吧。

    这是ACM的强大力量,如果把编程分为两类的话,一类是软件开放,它是真正能赚钱的行业,但是现在我们都做不到。另一类是ACM题,以简约的形式考察编程能力,却需要不输于开放大型软件能力,如果仅仅把ACM看成是对算法的提升,那就太浪费了!

    ACM对Acmer有以下作用:

    培养团队协作能力;

    培养吃苦耐劳的意志;

    培养学习能力;

    提升英语水平;

    提升专业英语水平;

    提升思维能力与敏锐的判断力;

    提升编程水准、编程素养、算法能力;

    提升调试代码、测试代码、程序分析的能力;

    提升撰写文档的能力,比如我现在做的;

    提升阅读代码的能力,比如你刚才做到;

    综上所述,ACM除了对你如何记忆马克斯主义没有作用外,都对你有极大的提升。

    必然,一个获奖的Acmer——一个充分得到提升的Acmer,会得到谷歌、百度等公司的应聘!

     

  • 相关阅读:
    随机变量与概率分布
    概率知识归纳
    随机生成&部门匹配
    SudokuGame 记软工第二次作业
    从0到1的开发,社交App 完成
    Emmm,从删库到跑路系列之.......Root权限的重要性
    处理AsyncTask的内存泄漏问题
    关于服务器端的Json文件的接收,踩了一早上的坑的问题
    一些安卓模拟器的IP问题和getOutputStream();关于connect();的函数异常的问题
    擦擦博客的灰------开始毕设,社交应用开发 之 前期准备
  • 原文地址:https://www.cnblogs.com/bmdx/p/say_of_acmer.html
Copyright © 2020-2023  润新知