[algs_easy] 判断一个数是否是素数

素数的定义:大于1且无真因子的数

int isPrime(int n) {
    if(n <= 1) return 0;
    for(int m = 2; m * m <= n; m++)
        if(n % m == 0) return 0;    // not a prime
    return 1;
}

请思考 为什么在 m * m > n 时就可以不去考虑?

原文地址:https://www.cnblogs.com/crazyRanZhang/p/8977998.html

时间: 2024-10-11 17:40:39

[algs_easy] 判断一个数是否是素数的相关文章

c语言实现判断一个数是否是素数

就是判断一个数是否是素数,网上很多版本,我觉得都有点问题,今天一个朋友问我这个问题,我才知道,现在我就贴出自己的代码,很有用哦!! #include<stdio.h> #include<math.h> int Prime(unsigned int a) { unsigned int i; int k=0; if (a==1) k=1; else for(i=2;i<sqrt(a);i++) if(a%i==0) { k=1; break; } return k; } int

C语言之函数调用09—判断一个数是否为素数

//函数调用 /* ========================================================== 题目:判断一个数是否为素数.如3是素数,4不是素数. ========================================================== */ #include<stdio.h> #include<stdlib.h> int sushu(int n) { int i,k; k=n/2;//控制结束位置! for(

java判断一个数是否为素数[转]

http://blog.csdn.net/lwcumt/article/details/8027586 import java.util.Scanner; //质数又称素数,是指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数 public class PrimeNumber { public static void main(String[] args) { Scanner scan = new Scanner(System.in);// 扫描器,接收控制台输入信息 Sy

判断一个数是否是素数

1)输入一个数,判断该数是否是素数 1 //素数是指只能被1和其自身整除的自然数(1除外)如2 3 5 7 11... 2 //输入一个大于1的自然数,判断该数是否为素数,如果是,输出“yes”,不是,输出“no” 3 4 void main() 5 { 6 int n,i,flag=1; //用flag标记n是否是素数,如果不加flag,将会输出许多个yes或no 7 cout<<"please input n:"; 8 cin>>n; 9 for(i=2;i

C:冒泡排序&amp;判断一个数是否为素数&amp;求平方根的迭代公式

冒泡排序 #include<stdio.h> int main () { int i,j,n,temp,a[10]; scanf("%d",&n); printf("The original numbers:\n"); for(i=0;i<n;i++) scanf("%d",&a[i]); for(i=0;i<n-1;i++) for(j=1;j<n-1;j++) if(a[j-1]>a[j])

模板:判断一个数是否是素数

素数是除了1和它本身这两个数之外再没有可以整除的除数,为减少时间复杂度,可以只对2~√x 之间的数除x就可以判断是否为素数. 代码 1 bool prime(int x) { 2 for (int i = 2; i <= sqrt(x); i++) { 3 if (x % i == 0) 4 return false; 5 } 6 return true; 7 } 原文地址:https://www.cnblogs.com/moujun1001/p/9476392.html

python初学者-判断一个数是否为素数

while True: #判断为真 num = int(input('请输入一个数:')) for i in range(2,num):#判断在num之前的数能不能把num整除 if(num%i == 0): #如果能被整出执行下面语句不能整除执行else print('%d不为素数'%num) break #如果是素数跳出while循环 else: print('%d为素数'%num) break #如果不是素数跳出while循环 break 原文地址:https://www.cnblogs.

【算法与数据结构】判断一个数是否是素数

题目: 判定一个数m是否是素数. 定义: 素数,就是质数,我们简单看一看百度给的定义就行,质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数,这样的数称为质数. 思想: 2 ~ m-1 之间有无整数整除m即可. 简化: 2 ~ 根号m 之间有无整数整除m即可. [代码] 1 public class Main { 2 public static boolean isPrime(int n) { 3 if (n < 2) { 4 return false; 5 } 6 for (int

C语言判断一个数是否是素数

素数又称质数.所谓素数是指除了1和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被2~16的任一整数整除. 思路1):因此判断一个整数m是否是素数,只需把m被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么m就是一个素数. 思路2):另外判断方法还可以简化.m不必被 2 ~ m-1 之间的每一个整数去除,只需被 2 ~  之间的每一个整数去除就可以了.如果m不能被 2 ~ 间任一整数整除,m必定是素数.例如判别17是是否为素数,只需使17被2~4之间的每一个整数去