豆搜网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > 工程科技 > 建筑/土木 > 图形计算器计时器功能促进程序算法研究 ——2009 年上海市TI杯
侵权投诉

图形计算器计时器功能促进程序算法研究 ——2009 年上海市TI杯

图形计算器计时器功能促进程序算法研究 ——2009 年上海市TI杯

图形计算器计时器功能促进程序算法研究

——2009年上海市TI杯数学竞赛题解题有感

陈智瑨 上海华东师大二附中2011届3班 201210

 

2009年上海市TI杯高二年级数学竞赛个人赛有这样一道题: 

两个三位数写在一起形成一个六位数,若这个六位数恰等于原来两个三位数乘积的整数倍,求这个六位数。 

这是一个关于整除的数论问题,需要学生有较强的数学分析能力,并且一定需要经过分类讨论的过程,大多数没有专业竞赛训练(尤其是不熟悉初等数论)的同学一时找不到解题思路。但鉴于该问题逻辑判断关系非常清晰,非常适合编程求解。 

由于我的老师参加了该题的阅卷工作,发现近80%的学生选择了编程求解。

TI‐84图形计算器有强大的编程功能,若能用好这一功能,将会对平时解题有事半功倍的效果。但是要编出一个适合于题目的程序是很难的,其中要考虑到程序的有效性、便捷性、高效性,要不断尝试、练习才可以熟练掌握编程技巧。我将以对一道题目的解法程序进行研究,探讨使用TI图形计算器时的编程方法、技巧。 

看到这道题时,觉得很简单,并没有太大的理解上的困难,程序的基本结构也很快想好,便开始编写。设两个三位数分别为A,B(为了与编程时的变量相符合,字母均使用大写),则,六位数可表示为1000A+B,可以得到

图形计算器计时器功能促进程序算法研究 ——2009 年上海市TI杯

 

 

:For(A,100,999)                                               A取遍所有三位数 :For(B,100,999)                                               B取遍所有三位数 :If fPart((1000A+B)/(A*B))=0              判断六位数是否为两个三位数乘积的整数倍 :Then 

:Disp 1000A+B                                       若符合条件,则显示六位数 :End                                                               与If配对 :End                                                       与第二个For配对 :End                                                       与第一个For配对  

进行算法分析后,发现程序TI00共需计算810000种情况(A有900种可能,对应B有900种可能)。这样的计算量对TI‐84来说已经太大,无法在短时间内完成。根据推算,这个程序大约需要2个小时才能完成所有数字的搜索。显然,这个程序的算法有待改进。我们希望知道程序运行的时间,以判断程序算法的优劣。 

怎样计算程序运行时间以检测程序算法的效率?TI图形计算器附带的计时器功能可以帮助我们。(备注:TI系列图形计算器大多带有计时器功能,如TI‐84Plus,TI‐92、TI‐92Plus、TI‐89、Voyage 200均有,只有TI‐83、TI‐83Plus没有。) 

为了精确计算程序的运行时间,我们可以在程序的一开始添加startTmr→T的命令,在

第1页

你可能喜欢

  • 编程计算器
  • 使用计算器
  • 计算程序
  • 计算数学
  • 计算器使用方法
  • Mathematica教程
  • 常用计算公式
  • 常用图形

热门文档

相关文档

站点地图 | 文档上传 | 侵权投诉 | 手机版
新浪认证  诚信网站  绿色网站  可信网站   非经营性网站备案
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.docsou.com All Rights Reserved.  闽ICP备15022310号-9  闽公网安备 35021102001881号  email
返回顶部