求十个连续最小自然数,非素数。

求十个最小连续自然合数。

根据c语言改编一下,其实思路都一样,循环找出符合条件的数字。存放到数组中,最后输出满足条件的就好了。一定要明白判断合数的条件。这里要注意continue的使用。注释我已经说的听明白了,听不懂的大家多多见谅哈哈哈。
ps:我在csdn找不到java版本的,只有c语言版本,我就直接按照原创发布了,刚入门,有违规则的请大佬及时告知我,谢谢了。

	public static void main(String[] args) {
		int i,j,h;
		boolean flag;
		int count=0;
		int[] a = new int[10];
		for(i=1;true;i++)    
		    {flag=true;
		        for(j=2; flag&&j<i/2; j+=1)    //判断能否被从2到整数的一半的某一数所整除
		            if(0==(i%j))    //若能除开,则是合数
		                flag=false;
		        if(flag)    //素数
		        {
		            count=0;//数组下标
		            continue;//若是素数,数组将会被新的for循环所找到的数字重新赋值
		        }
		        else   //是合数
		        {
		            a[count]=i;
		            count++;
		        }
		        if(10==count)    //已找到连续的十个合数
		            break;    //跳出循环,第一次找到的即为最小的十个连续合数
		    }
		    System.out.print("10个连续最小合数分别为:");
		    for(h= 0; h <10; h++)   
		    System.out.print(a[h]+" ");//存到数组挨个输出
	}
}

结果:
10个连续最小合数分别为:114 115 116 117 118 119 120 121 122 123

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值