if( m%n==0 ) //什么条件下跳出当前循环
质数只能被1和它本身整除,如果在内循环中找到一个n,这个n能整除m,说明m除了1和它本身还有因数n,当m不等于n时,它就不是质数,反之,如果找遍了所有[2, m-1]区间的数都没有找到n,那么m就是质数。
素数条件为:只能被1和本身整除,换句话说,就是素数 除以任何数 ,都要有余数。所以当 m%n==0时,也就是m除以n 余数为零时, 该数m已经不满足素数的条件了,所以跳出循环。
m%n==0即m能被n整除,此时跳出子循环判断if(m==n),假如m!=n (利用素数的特性) 就不输出m。素数的特点就是只能被一和它本身整除。
第一次被整除时,跳出循环, 此时得到m被整除的数n, 如果n等于m则表示m只能被n整除, 如果不等于, 则表示这个m不是素数; 举例: 如m=4, 则第一次m%n=0时, n=2(4%2==0),4不是素数; m=5,则第一次m%n==0时, n=5
%表示除余, m%n表示m除以n的余数, 余数为零表示m可以被n整除