数学建模社区-数学中国

标题: [求助]我编了一个程序验证下面的猜想,但只有一个返回值,请问怎么回事? [打印本页]

作者: sunooy    时间: 2006-5-3 17:00
标题: [求助]我编了一个程序验证下面的猜想,但只有一个返回值,请问怎么回事?
<span class="javascript" id="text499482">我编了一个程序验证下面的猜想,但只有一个返回值,请问怎么回事?<br/>猜想和程序在下面:<br/>***数学家角谷提出一个著明的猜想: <br/>任何一个大于1的自然数经过如下的有限步运算,最后结果为1 <br/>(1)如果是偶数,将其除以2 <br/>(2)如过是奇数,将其乘以3,再加上1<br/>例如 10.<br/>10/2=5 <br/>5*3+1=14 <br/>14/2=7 <br/>7*3+1=22 <br/>22/2=11 <br/>11*3+1=34 <br/>37/2=17 <br/>17*3+1=52 <br/>52/2=26 <br/>26/2=13 <br/>13*3+1=40 <br/>40/2=20 <br/>20/2=10 <br/>10/2=5 <br/>5*3+1=16 <br/>13/2=8 <br/>8/2=4 <br/>4/2=2 <br/>2/2=1 <br/><br/>%取n=10,编程序验证<br/>n=10;<br/>f=[n];<br/>i=1;<br/>while f(i)&lt;0<br/>if mod(f(i),2)==0<br/>f(i+1)=f(i)/2;<br/>else <br/>f(i+1)=f(i)*3+1<br/>end<br/>i=i+1;<br/>end<br/>f=f' ,i </span><br/>
作者: sharp1985    时间: 2006-12-21 06:05
<p>看的不是太懂,索性用JAVA写段给你吧,但从你的程序看,返回值既没时时打印在屏幕上,也没定义数组来存放总共10个返回值,那当然会被覆盖..所以只会返回循环最后一次出的结果吧...</p><p>for (int i=1;i&lt;11,i++) {</p><p>&nbsp;&nbsp; int n = i;</p><p>&nbsp;&nbsp; // int[] x = new int[10];&nbsp;&nbsp;&nbsp; //</p><p>&nbsp;&nbsp; while (n !=1) {</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (n%2 == 0) n = n/2;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else n= n*3+1;</p><p>&nbsp;&nbsp; }</p><p>&nbsp;&nbsp; System.out.println(n);</p><p>&nbsp;&nbsp; // n = x[i-1];&nbsp;&nbsp; </p><p>}</p>




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5