ubuntu,vim,gcc
打開ubuntu并開啟一個終端,輸入號令vim is_prime.c,打開編纂頁面,輸入預處置指令#include<stdio.h>用于在本家兒函數中挪用判定函數。然后界說一個函數int is_prime(int n),即判定整數n是否為素數。
起首,判定這個數是否小于2.若是,則直接返回0,即暗示它不是一個素數。
然后界說中心的因數i,初始值為2。依次使n對i取余數,看n可否整除i,然后令i自增直到i的平方年夜于n。在這過程中,若是碰到n能整除i,則申明n不是一個素數。若是輪回可以或許直到i的平方年夜于n才竣事,申明n是一個素數。
接下來,我們利用本家兒函數進行測試,利用printf("%d : %d\n", n, is_prime(n))的格局進行輸出。若是輸出成果為0,申明不為素數;成果為1,申明是一個素數。
測試的數據依次是2,4,9,15, 17, 23, 25。
退出編纂器vim,然后利用gcc編譯并運行它,獲得成果。經由過程成果我們可以看出,預期的成果與我們對于素數的認知是不異的,申明我們的法式編寫沒有錯誤。以下是所有的源代碼:
#include <stdio.h>
//判定一個數是否為素數的函數界說
int is_prime(int n)
{
//判定n是否小于2.若小于則直接返回0
//暗示n不是一個素數
if(n < 2)
return 0;
//界說一個中心變量i,初始化i=2
int i = 2;
//依次判定每一個不年夜于根號n的i是否能被n整除
for(i = 2; i * i <= n;i++)
{
//若是可以或許整除
if(n % i == 0)
//直接返回0,暗示n不是一個素數
return 0;
}
//若是法式運行到這里,申明i*i年夜于n
//申明n是一個素數
return 1;
}
int main()
{
printf("%d : %d\n", 2, is_prime(2));
printf("%d : %d\n", 4, is_prime(4));
printf("%d : %d\n", 9, is_prime(9));
printf("%d : %d\n", 15, is_prime(15));
printf("%d : %d\n", 17, is_prime(17));
printf("%d : %d\n", 23, is_prime(23));
printf("%d : %d\n", 25, is_prime(25));
return 0;
}
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!