求解决指定范围素数5个换行并求和

import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n=0,sum=0;
int a = sc.nextInt();
int b = sc.nextInt();
int i,j,k=0,f=0;
for(i=a;i<=b;i++){
for(j=2;j<=i/2;j++)
{
if(i%j==0)
{
break;
}
}
if(j>i/2&&i!=1)
{
n++;
sum+=i;
//if(n!=f+5) {
if(n%5!=0){
if(n==1+k) {
System.out.print(i); k=k+5;
}
else {
System.out.printf(" "+i);
}
}
else {System.out.println(" "+i);f+=5;}

/*  if(n!=5){
      System.out.printf(" %d",i);
  }
    else System.out.println(i);*/
    }

}
System.out.print("\n"+"amount"+"="+n+" ");
System.out.print("sum"+"="+sum);
}
}

img

img

img


我的代码打印结果和给出示例一样,但有一个测试点不通过,求帮忙指出问题或者给出代码

你会每输出5个之后输出一个换行
但是你有考虑过输出数量正好能被5整除吗
那你的数字和最后的sum结果之间就有2行空行了
此外,for(j=2;j<=i/2;j++)这里j应该小于i的开方,不是i/2,循环次数太多容易超时

问题出在第二个for循环上,for(j=2;j<=i/2;j++) 这里的j要小于等于Math.sqrt(i)