根据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