素数求和为什么没通过?

img

import java.util.Scanner;

public class Main{
    public int sc(int a){
        int number=1;
            for(int s=2;s<=Math.sqrt(a);s++) {
                if(a%s==0){
                    number=0;
                    break;
                }
            }
        return number;
    }

    public static void main(String[] args) {
        int n,m,i=0;
        int sum=0,j=0;;
        Main scd=new Main();
        Scanner sr1 = new Scanner(System.in);
        Scanner sr2 = new Scanner(System.in);
        
         n=sr1.nextInt();
         m=sr2.nextInt();
        for(i=2;;i++){
            j+=scd.sc(i);
            if(scd.sc(i)==1){
            if(n<=j&&j<=m){
                sum+=i;
                if(j==m) {
                    break;
                }
            }
         }
        }
        System.out.println(sum);
    }
   
}

浮点数存在误差,不要 s<=Math.sqrt(a) 这么比较