2013年计算机三级网络技术上机模拟题及答案解析三十_第2页

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2013年4月26日
  【答案】
  int jsValue(int t)
  {
  int f1=0,f2=1,fn; /*定义变量存储Fibonacci数,初始化数列的前两项*/
  fn=f1+f2; /*计算下一个Fibonacci数*/
  while(fn<=t) /*如果当前的Fibonacci数不大于t,则继续计算下一个Fibonacci数*/
  {
  f1=f2;
  f2=fn;
  fn=f1+f2;
  }
  return fn; /*返回Fibonacci数列中大于t的最小的一个数*/
  }
  【解析】解答本题的关键是要充分理解题意,只有理解了题意本身的数学过程,才能把数学过程转化为程序逻辑。根据已知数列,我们不难发现:在Fibonacci数列中,从第三项开始,每一项都可以拆分为前两项之和。本题要求找到该数列中"大于t的最小的一个数"。这里可以借助一个while循环来依次求数列中的数,直到出现某一项的值大于t,那么这一项就是"大于t的最小的一个数"。
首页 1 2 尾页

相关文章