初试编程+算法

原创 2016年06月01日 21:52:27

    在大一时老师就告诉我们“程序就是数据结构+算法”,当时对于只是刚学习C++的我们来说很难理解,以及面向对象的概念等,当时被这些专业词搞得一头雾水,不过随着大二学习了数据结构后我们慢慢对“程序就是数据结构+算法”这句话有了初步的理解。

随后我们专业的同学又了解到“蓝桥杯”程序设计比赛,初试蓝桥杯的题时真是备受打击,本以为自己学的不错,在见识到蓝桥杯以及一些在线测试系统的题目时真是意识到自己差的好远好远,后来我边学习数据结构边自学一些算法,然后通过做题来检验自己的水平,在学习的过程中深深体会到什么是“学无止境”,尤其对计算机/软件专业的学生来说更是这样。

    在201511月份迎来了我们学校针对于第七届蓝桥杯比赛的校内选拔赛,我当然是积极的参加了,以此来考核一下自己这段时间的学习。选拔赛共5道编程题,分为C++组合Java组。第一题,具体题目忘记的,不过一看就知道是使用暴力循环来解决,可是这题老师处得很有技巧,循环间距不再是平常所见到的i++而是 i+=0.01 ,这样一个步长的变化就是很多同学懵了圈,其实当时我也是思路混乱,总觉得自己的答案不正确,或者有啥算知识来解决只是我没想到。

   然后很心虚的看下一题,不得不说第二题真是给了我很深的印象,题目是:一个数为99999……(未知位数),这个数能被61整除,请编程将这个数的位数求出。在当时,我觉得应该是使用暴力for循环,可以一写不对劲了,循环的上限找不到,而且,随着位数的增加,基本数据类型是存不下的,然后赶紧转化思路,难道是大数问题?可自己有对大数问题一无所知,所以当时心想这下完了,前两题就挂这了,这次肯定完了丑大了,自己这段时间的努力几乎没啥效果。这时脑海里想的都是前一段时间刷的题目,过了会突然想到自己做过的一道题,是除法和求余相结合的过程,转来一想这题难道也需要用求余的方法,抱着死马当活马医的心理试了一下,天!就是这样,利用除法的特性,先令一个数n=9,检验n%61否为0,不为0n=(n%61)*10+9,进行下一次检验,一直这样循环,直到n%610为止。具体代码:

#include<iostream>

using namespace std;

int main(){

       intn=9;

       intm=61;

       intcount=1;  

       while(n%m!=0){

             

              n=n%m*10+9;

              count++;

       }     

       cout<<count<<endl;

       return0;

}

就这么几行简单的代码,如果思路错了,不知道要写多少代码和多少循环……

从这题我深刻体会到写程序思路和逻辑是多么的重要,以及一些算法的特性,在解决一些问题时往往能起到关键作用。 做出此题后赶紧进入到下一题,很顺利解决了第3题,第4题是使用递归的写法,可惜功夫没达到,第5题根本没看,时间就结束了。

选拔赛结果是我通过了,成功选拔到省赛中,这次考核不算完美但却让我有了一些学习的方向,随后我又陆续了解到其他一些算法如:贪心、分治、动态规划等等,然后结合所学的数据结我制定了自己的算法+数据结构的实战练习计划……

【2014】计算机已知统考和非统考学校信息汇总(比较全)

【2014】计算机已知统考和非统考学校信息汇总(比较全) 已确定自主命题的高校: 1、哈尔滨工业大学             考试科目:数据结构+计算机组成原理 2、南京大学      ...
  • huangruhuan
  • huangruhuan
  • 2013年03月22日 16:24
  • 1087

OpenCV入门:初试牛刀 — 视频播放控制器

视频播放控制器(进度条) #include #include using namespace cv; //创建一个全局的视频变量 CvCapture* video = NULL; /...
  • WSDS_MZM
  • WSDS_MZM
  • 2017年12月30日 16:41
  • 22

NDK编程初试

在学习NDK编程之前,看了很多网上的配置教程,这些教程要么时间久远,要么用到的工具的版本不是最新的,所以对于当前最新环境下的NDK配置以及开发,只能做一部分参考,下面来说下我的初试流程。 工具和环境:...
  • yypccc
  • yypccc
  • 2016年08月08日 22:05
  • 215

.NET WMI 编程初试

前段时间刚学了点WMI脚本编程的一些知识,还在BLOG上写了一个笔记《WMI Minute -- Windows管理脚本学习 》。今天学到.NET下WMI编程是通过System.Management下...
  • laily
  • laily
  • 2004年07月31日 01:01
  • 2683

初试idea编程

一直都是用的ieclipse,但是听他们在讲现在最好用的是idea,本人也抱着试试看的态度搭建一下,idea开发所需的环境 1,安装就不废话了,网上有很多大佬的博客都有详细的介绍 2,集成svn,...
  • my_name_nb
  • my_name_nb
  • 2017年12月03日 14:40
  • 61

迁移数据的时候不知道用户的密码怎么做完事情后还原密码

迁移数据库的时候,开发需求他的用户和密码不变,作为DBA又不知道开发的密码是什么?这个时候的思路是在老的用户上查出这个账号的密码的md5值,保存起来,在新的数据库上创建用户,导入数据后给定他原来的密码...
  • ljsjr
  • ljsjr
  • 2013年04月21日 00:52
  • 553

大部分艺术院校导演专业考试都分为初试和复试两个阶段

 大部分艺术院校导演专业考试都分为初试和复试两个阶段,如果考生很多,也可能有三试,但也基本是以下项目,只是考题内容有些变化罢了: 一、初试主要包括:自我介绍、自选朗诵、特长展示、回答考官提问 1、自我...
  • trix_lee
  • trix_lee
  • 2009年01月19日 13:32
  • 258

编程中五大常用算法..

1、分治法 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求...
  • liyantianmin
  • liyantianmin
  • 2011年07月03日 17:20
  • 1797

程序员高手必会的十大编程算法

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一...
  • liuhaiabc
  • liuhaiabc
  • 2016年09月25日 18:44
  • 1108

【面试必读(编程基础)】几种查找算法

http://www.cnblogs.com/maybe2030/p/4715035.html?utm_source=tuicool&utm_medium=referral 查找是在...
  • chrisfxs
  • chrisfxs
  • 2017年04月18日 19:51
  • 1118
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:初试编程+算法
举报原因:
原因补充:

(最多只允许输入30个字)