java 练习1 验证角谷猜想:

版权声明:此文章为作者筱睿_原创文章,转载请附上博客链接 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);
	}
	

}

运行结果如图:
在这里插入图片描述

本人学疏才浅,如有问题,敬请指正!

猜你喜欢

转载自blog.csdn.net/qq_43756486/article/details/88325825
今日推荐