加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[转载]在matlab上验证角谷猜想

(2012-05-20 20:28:04)
标签:

转载

分类: matlab
1、角谷猜想
日本数学家角谷提出一个著明的猜想:任何一个大于1的自然数经过如下的有限步运算,最后结果为1。
(1)如果是偶数,将其除以2 
(2)如过是奇数,将其乘以3,再加上1

例如:通过以下6步即可把10化为1。
10/2=5 
5*3+1=16
16/2=8
8/2=4
4/2=2
2/2=1

2、发展情况
尚未被证明,但在计算机上验证7000亿以内的自然数都满足角谷猜想。

3、MATALB验证程序
(1)直接在matlab窗口编程验证:
输入:
n=10;
i=1;
f(i)=[n];
while f(i)~=1
if mod(n,2)==0
n=n/2;
else
n=n*3+1;
end
i=i+1;
f(i)=n;
end
f,
i=i-1

输出:
f=10 5 16 8 4 2 1
i=6

(2)建立M文件验证
function [n,i]=Jiaogu(n); %n为任意大于1的正整数
i=1; 
f(i)=n; %存放每步运算得到的结果
while n~=1
if mod(n,2)==0
n=n./2;
else n=n.*3+1;
end
flag=flag+1;
m(flag)=n;
end
f %存放每步运算得到的结果
i=i-1 %运算次数

把以上程序保存成函数文件,命名就是Jiaogu.m
需要求其他参数的话,只要在命令窗口输入Jiaogu(n)即可(n就是你想要检验的正整数)。



0

后一篇:晚安,六一
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有