1. 程式人生 > >多種求素數方法

多種求素數方法

tdi pan %d stdio.h ret ++ print 題目 scan

題目:

    輸入一個數判斷是否是素數

第一種方法:

#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("不是素數");
}

多種求素數方法