多种求素数方法

Posted lqboke

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多种求素数方法相关的知识,希望对你有一定的参考价值。

题目:

    输入一个数判断是否是素数

第一种方法:

#include<stdio.h>
int main()
{
  int i,j,k=0;
  scanf("%d",&i);
  for(j=2;j*j<=i;j++)
  {
    if(i%j==0)
      k++;
  }
  if(k==0)
    printf("是素数");
  else
    printf("不是素数");
}

第二种方法:

#include<stdio.h>
int su(int i)
{
  int j;
  for(j=2;j*j<=i;j++)
  {
    if(i%j==0)
      return 1;
  }
  return 0;
}
int main()
{
  int i;
  scanf("%d",&i);

  if(su(i)==1)
    printf("不是素数");
  else
    printf("是素数");
}

第三种方法:

#include<stdio.h>
int main()
{
  int i,j,k=0;
  scanf("%d",&i);
  for(j=2;j*j<=i;j++)
  {
    if(i%j==0)
    {
      k++;
      break;
    }
  }
  if(k==0)
    printf("是素数");
  else
    printf("不是素数");
}

第四种方法:

#include<stdio.h>
int main()
{
  int num,i;
  scanf("%d",&num);
  for(i=2;i*i<=num;i++)
  {
    if(num%i==0)
      break;
  }
  if(i*i>num)
    printf("是素数");
  else
    printf("不是素数");
}

 
































































以上是关于多种求素数方法的主要内容,如果未能解决你的问题,请参考以下文章

如何用python求友素数

求100之内的素数

一般筛法求素数+快速线性筛法求素数

转载一般筛法求素数+快速线性筛法求素数

基础算法——筛法求素数

用C++编写程序求100以内的所有素数(质素)的和。