当前位置:首页 >> 技术文章 >> 服务器技术 >> 利用ASP(Vbscript)实现角谷猜想的迭代算法

利用ASP(Vbscript)实现角谷猜想的迭代算法

发布时间:2010年6月3日 文章分类:服务器技术 文章作者:Hitomi 浏览次数:
本文出现技术词汇:
ASP HTML XML W3C

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

简单来说就是:一个自然数,按“逢双除以2,逢单则乘以3加上1”的规则重复进行计算,最终结果必定是1。

这个猜想是谁提出的我不知道,只是书上说,又称为叙拉谷猜想或科拉兹猜想。

从他的论述和举例来看貌似是正确的:

例如,最初是7

  •  →  7×3+1=22 偶
  •  → 22÷2  =11
  •  → 11×3+1=34 偶
  •  → 34÷2  =17
  •  → 17×3+1=52 偶
  •  → 52÷2  =26 偶
  •  → 26÷2  =13
  •  → 13×3+1=40 偶
  •  → 40÷2  =20 偶
  •  → 20÷2  =10 偶
  •  → 10÷2  =5
  •  →  5×3+1=16 偶
  •  → 16÷2  =8  偶
  •  →  8÷2  =4  偶
  •  →  4÷2  =2  偶
  •  →  2÷2  =1

本题目要实现的就是输入任意自然数提交后利用ASP(vbscript)计算后,输出全部运算过程,类似例子中的7的全部运算。

下面是我用ASP实现的效果演示

http://www.sseoo.com/mygame/kakutani/?n=7

有兴趣的朋友可以在后边加上不同的参数

比如:http://www.sseoo.com/mygame/kakutani/?n=476

源代码下载:http://www.sseoo.com/mygame/kakutani/kakutani.rar

ASP源代码:

XML/HTML代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
  5. <title>利用ASP(Vbscript)实现角谷猜想的迭代算法</title>  
  6. <style type="text/css">  
  7. #wrap{width:760px;margin:20px auto;}   
  8. #wrap form{padding:10px;}   
  9. #wrap p{margin:0;padding:0;color:#666;line-height:20px;font-family:Geneva, Arial, Helvetica, sans-serif;font-size:12px;border-bottom:1px dashed #EEE;padding:0 10px;}   
  10. #wrap p em{color:#F00;font-style:normal;font-weight:bold;}   
  11. </style>  
  12. </head>  
  13. <body>  
  14. <div id="wrap">  
  15. <form method="get" name="kakutani" action="">  
  16. 请输入一个自然数:<input type="text" name="n" size="8" /> <input type="submit" value="提交" />  
  17. </form>  
  18. <%   
  19. n = request.querystring("n")   
  20. if isnumeric(n) then   
  21.     if n <= 1 then   
  22.         response.write "<p><em>请输入大于1的数字好吗?</em></p>"    
  23.     else   
  24.         response.write "<p><em>n="&n&"</em></p>"    
  25.         response.flush()   
  26.         do while not n = 1  
  27.             if n mod 2 = 0 then   
  28.                 response.write "<p>"&n&" ÷ 2 = "&n/2&"</p>"    
  29.                 response.flush()   
  30.                 nn = n / 2   
  31.             else   
  32.                 response.write "<p>"&n&" × 3 + 1 = "&n*3+1&"</p>"    
  33.                 response.flush()   
  34.                 nn = n * 3 + 1   
  35.             end if   
  36.         loop   
  37.     end if   
  38. else   
  39.     response.write "<p><em>请输入个数字可以吗?</em></p>"    
  40. end if   
  41. %>  
  42. </div>  
  43. </body>  
  44. </html>  

 

我要评论

关于我们

SSEOO网络工作室是哈尔滨网站制作的个人团队,主要开展哈尔滨网站制作哈尔滨网站建设哈尔滨网站开发等业务,技术一流费用低,企业建站首选的开发团队!

我们来自哈尔滨各网络公司的IT精英,专注于简洁、实用、美观、大方的企业网站,当然我们也可以做更多其他类型的网站,只要你有明确的需求,就没有我们做不出的网站!

由于工作繁忙,暂停网站制作业务!

联系方式

数据统计

  • 技术文章:30
  • 教程连载:19
  • 技术词汇:27
  • 实用网站:14
  • 网站案例:24
  • 常用软件:5
  • 网友回复:7