用C语言编写判断一个数是否是素数的程序

在ubuntu平台上使用vim+gcc,编写c语言程序判断一个数是否为素数

工具/材料

ubuntu,vim,gcc

操作方式

  • 01

    打开ubuntu并开启一个终端,输入号令vim is_prime.c,打开编纂页面,输入预处置指令#include<stdio.h>用于在本家儿函数中挪用判定函数。然后界说一个函数int is_prime(int n),即判定整数n是否为素数。

  • 02

    首先,判定这个数是否小于2.若是,则直接返回0,即暗示它不是一个素数。

  • 03

    然后界说中心的因数i,初始值为2。依次使n对i取余数,看n可否整除i,然后令i自增直到i的平方年夜于n。在这过程中,若是碰到n能整除i,则申明n不是一个素数。若是轮回可以或许直到i的平方年夜于n才竣事,申明n是一个素数。

  • 04

    接下来,我们利用本家儿函数进行测试,利用printf("%d : %d\n", n, is_prime(n))的格局进行输出。若是输出成果为0,申明不为素数;成果为1,申明是一个素数。
    测试的数据依次是2,4,9,15, 17, 23, 25。

  • 05

    退出编纂器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;
    }

  • End
  • 发表于 2018-02-08 00:00
  • 阅读 ( 1211 )
  • 分类:科学教育

相关问题

0 条评论

请先 登录 后评论