以下判断素数的代码在int表示的所有正数范围内是正确的么?为什么?如何改进?
bool is_prime(int n) {
assert(n >= 1);
for (int i = 2; (i * i) <= n; i++)
if (n % i == 0) return false;
return true;
}
// 1既不是质数也不是合数 返回false bool is_prime(int n) { assert(n >= 1); if ( n == 1 ) return false; for (int i = 2; (i * i) <= n; i++) if (n % i == 0) return false; return true; }
import java.util.*; public class Main{ public boolean is_prime(int num){ //Scanner sc = new Scanner(System.in); //int num = sc.nextInt(); boolean flag = true; for(int i=2;i<num;i++){ if(num%i==0){ flag = false; continue; } } return flag; } }
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题