用C语言编写判断一个数是否是素数的程序
工具/材料
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 : %dn", 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 : %dn", 2, is_prime(2));
printf("%d : %dn", 4, is_prime(4));
printf("%d : %dn", 9, is_prime(9));
printf("%d : %dn", 15, is_prime(15));
printf("%d : %dn", 17, is_prime(17));
printf("%d : %dn", 23, is_prime(23));
printf("%d : %dn", 25, is_prime(25));
return 0;
}
-
韩姓是贵族姓吗?韩姓起源和来历是什么
导语:韩姓起源来自华夏师祖黄帝,是黄帝的孩子昌意生下了韩流,韩姓就至此流传下来,所以韩姓也是贵族姓,韩姓并不是小姓,按照人口数量来排列的话排在第二十六位,现在这个姓氏大约有760万人左右,大多分布在山东、河北,和探秘志一起了解下吧。韩姓是贵族姓吗中国姓氏是比较...
-
机械表怎么上弦
(01)机械表上弦的方法取决于手表是手动上弦还是自动上弦。手动上弦的机械表:1.将手表轻轻晃动几下后放在耳边聆听里面机芯的声音,如果能听到摆陀转动发出沙沙的声音,说明手表是手动上弦的。(02)2.将表冠拉出一格,露出发条孔。3.用手轻轻转动表冠,将发条上满。上弦过程中...
-
扑街是什么意思?粤语中骂人的词,源自英文Poor guy
解答:扑街主要表达3种意思:1.原意是走路被绊倒,扑倒在马路上;2.游戏中角色死亡,或者指乞丐;3.粤语中的“仆街”同意,源自外语中的“poorguy”,本意是骂人,也可表达一种倒霉的意思。扑街是什么意思?1.古文中扑街是扑倒在路上是指走路被绊倒,“扑”是扑倒,“街”是在街上...
-
皇族最纯正的十个姓氏 这十个姓氏真正带有皇室血统
导语:中华上下五千年,一直以来皇权都是处于至高无上的地位,只要和皇权可以挨上边就是比较典型的皇亲国戚了,而百家姓中皇族最纯正的十个姓氏分别是张姓,李姓,王姓,黄姓,陈姓,杨姓,赵姓,周姓,吴姓,徐姓,和探秘志一起看看吧。1、张姓张姓是中国最尊贵的姓氏,是从姬姓起源的,据说...