版权声明:此文章为作者筱睿_原创文章,转载请附上博客链接 https://blog.csdn.net/qq_43756486/article/details/88325825
角谷猜想:
任何一个正整数n,如果它是偶数则除以2,如果是奇数则乘以了再加上1.这样得到一个新的整数,如此继续进行上述处理,则最后得到的数一定是1.编写应用程序和小程序分别证明:在3~10000之间的所有正整数都符合上述规则。
应用程序实现
public class jiaogucaixiang {
public static void main(String[] args)
{
int n,a,counnt=0;
for(n=3;n<=10000;n++)
{ a=n;
while(a!=1)
{
if(a%2==0)
a=a/2;
else if(a%2==1)
a=a*3+1;
}
if(a==1)
counnt++;
}
System.out.println(counnt);
}
}
运行结果如图:
小程序实现
import java.awt.*;
import java.applet.*;
public class jiaogucaixiang2 extends Applet
{
public void paint (Graphics g)
{
int n,a,counnt=0;
for(n=3;n<=10000;n++) //依次判断3-10000
{ a=n; //保证n每次都能正常进入循环
while(a!=1)
{
if(a%2==0) //偶数情况
a=a/2;
else if(a%2==1) //奇数情况
a=a*3+1;
}
if(a==1)
counnt++; //统计符合角谷猜想的数
}
g.drawString("共有"+counnt+"个数符合猜想", 50, 50);
}
}
运行结果如图:
本人学疏才浅,如有问题,敬请指正!