日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C語言求素數的幾種方式總結_C 語言

作者:楊?戩 ? 更新時間: 2023-02-02 編程語言

一、判斷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)
            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++)
	    {
             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");
    else
    {
        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; 
}

總結

原文鏈接:https://yangyongli.blog.csdn.net/article/details/104363744

欄目分類
最近更新