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);
}
}
你会每输出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)