开发者

C语言求素数的几种方式总结

目录
  • 一、判断n是否能被2~n-1整除
    • 方法一
    • 方法二
  • 二、判断n是开发者_JAVA否能被2~√n间的整数整除
    • 方法一
    • 方法二
  • 总结

    一、判断n是否能被2~n-1整除

    输入的数n不能被2-(n-1)整除,说明是素数

    输入的数n能被2-(n-1)整除,说明不是素数

    注意:1不是素数,素数是指大于1的自然数,除了1和该数自身外,无法被其他自然数整除的数。

    方法一

    #include<stdio.h>
    int main()
    {
        int i, n;
        printf("请输入一个数:"); 
        scanf("%d", &n);
        for (i = 2; i < n ; i++)
        {
            if (n%i == 0)
             http://www.devze.com   break;
        }
        if (n <=1 ) printf("这不是素数\n");
        else  if (i < n) printf("这不是素数\n"); 
        else printf("这是素数\n");
        return 0;
     
    }

    方法二

    #include<stdio.h>
    int main()
    {
        int i, n;
        printf("请输入一个数:"); 
        scanf("%d", &n);
        if(n<=1)
            printf("这不是素数\n");
        else
            {
            for (i = 2; i < n ; i++)
    	    {
          http://www.devze.com       if (n%i == 0)
                 break;
    	     }
             if(i>=n)
    	        printf("这是素数\n");
             else
    	        printf("这不是素数\n");
    	  }
    编程	 return 0;
    }

    二、判断n是否能被2~√n间的整数整除

    输入的数n不能被2-√n整除,说明是素数

    输入的数n能被2-√n整除,说明不是素数

    方法一

    #include<stdio.h>
    #include<math.h>
    int main()
    {
        int n,i;
        double k;
        printf("请输入一个数:"); 
        scanf("%d", &n);
        k = sqrt(n);
        for (i = 2; i <= k;i++)
        {
            if (n%i == 0) break;
        }
        if (n <=1 ) printf("这不是素数\n");
        else if (i <= k) printf("这不是素数\n");
        else printf("这是素数编程客栈\n");
        return 0;
     
    }

    方法二

    #include<stdio.h>
    #include<math.h>
    int main()
    {
        int n,i,k;
        printf("请输入一个数:"); 
        scanf("%d", &n);
        if(n<=1)
            printf("这不是素数\n");
        epythonlse
        {
            k=sqrt(n);
            for (i=2;i<=k;i++)
            {
                if (n%i==0)
                break;
            }
            if(i>=k+1) 
                printf("这是素数\n");	
            else 
                printf("这不是素数\n");
        }
        return 0; 
    }
    
    

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜