常用算法回顾-迭代法

在做培训的很多时候是从来不讲算法的,搬到网上来总结一下:

迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程.(这个上网查询一下就知道了).

分析算法应用步骤:  

  1.确定迭代变量.  2.确定迭代关系  3.迭代控制

常规举例:

  验证角谷猜想。日本数学家谷角静夫在研究自然数时发现了一个奇怪现象:对于任意一个自然数 n ,若 n 为偶数,则将其除以 2 ;若 n 为奇数,则将其乘以 3 ,然后再加 1 。如此经过有限次运算后,总可以得到自然数 1 。人们把角谷静夫的这一发现叫做“角谷猜想”。

       分析:1.确定迭代变量n  2.确定地带关系  这里有两种迭代关系 n=n/2或者n=n*3+1   3.迭代控制   通常就是找到循环结束条件   这里就是当n=1结束,验证猜想成功.

 

  主要代码如下:

 

 1  static void Main(string[] args)
 2         {
 3             Console.WriteLine("输入一个需要验证的自然数:");
 4             int n = Convert.ToInt32(Console.ReadLine());
 5             while (n != 1)
 6             {
 7                 if (n%2==0)
 8                 {
 9                     n = n / 2;
10                 }
11                 else
12                 {
13                     n = n * 3 + 1;
14                 }
15             }
16             Console.WriteLine("验证成功!");
17         }

 

  完毕.

posted @ 2012-01-02 22:23  微软fans  阅读(530)  评论(0编辑  收藏  举报