题解 | #牛牛的素数判断#
牛牛的素数判断
https://www.nowcoder.com/practice/81c8387f72824cceb5c955e3dbfd2882
#include <stdio.h> int main() { int n = 0,m = 0 , i = 0 , j = 0; scanf("%d", &n); while (n) { scanf("%d", &m); if(m%2==0||m%3==0){//去掉2或者3的倍数 if(m==2||m==3)//踢出2,3素数 printf("true\n"); else printf("false\n");//不是2或3的倍数的数直接就不是素数 } else{ for (i = 3; i <= m; i += 2) {//每次加2输入数的循环一半 if (m % i == 0 && j == 0 && i != m) {//判断有没有因数,如果是不到循环结束 printf("false\n"); //就说明不是素数直接输出,将j加一 j = 1; } else { if (i == m && j != 1) {//上面的条件直到结束都不满足并且j没有变就说明没有因数 printf("true\n"); } } } j=0;//判断完以后将j恢复不妨碍下次判断 } n--;//通过将n逐次减一,就是要判断的次数 } return 0; }
第一次发布博客,请大家多多批评指教