课程
/后端开发
/C
/C语言入门
if( m%n==0 ) //什么条件下跳出当前循环
2020-04-29
源自:C语言入门 4-14
正在回答
质数只能被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整除
举报
C语言入门视频教程,带你进入编程世界的必修课-C语言
1 回答m%n==0 这里当m==n的时候,如果m为4,跳出循环时候为什么4没有被打印出来
4 回答为什么第二个for循环内n<m,跳出循环后n 能等于m
1 回答#include <stdio.h> int main() { int m, n; for(m=3; m<=50; m++) { for(n=2; n<m; n++) { if(m%n==0) //什么条件下跳出当前循环 break; //这里应该退出当前循环了 } if(m == n) //n循环结束后,如果m=n的话就输出m
1 回答这是为什么? if(m == n) //n循环结束后,如果m=n的话就输出m
1 回答为什么是m%n==0