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

2023-02-09 09:48:50来源:网络转载作者:匿名 阅读量:129 字体:

ubuntu,vim,gcc

01、打开ubuntu并开启一个终端,输入命令vim is_prime.c,打开编辑页面,输入预处理指令#include用于在主函数中调用判断函数。然后定义一个函数int is_prime(int n),即判断整数n是否为素数。

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

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

03、然后定义中间的因数i,初始值为2。依次使n对i取余数,看n能否整除i,然后令i自增直到i的平方大于n。在这过程中,如果遇到n能整除i,则说明n不是一个素数。如果循环能够直到i的平方大于n才结束,说明n是一个素数。

04、接下来,我们使用主函数进行测试,使用printf("%d : %dn", n, is_prime(n))的格式进行输出。如果输出结果为0,说明不为素数;结果为1,说明是一个素数。
测试的数据依次是2,4,9,15, 17, 23, 25。

05、退出编辑器vim,然后使用gcc编译并运行它,得到结果。通过结果我们可以看出,预期的结果与我们对于素数的认知是相同的,说明我们的程序编写没有错误。以下是所有的源代码:
#include

//判断一个数是否为素数的函数定义
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;
}

推荐阅读

  • 微信砸金蛋活动亮点

    微信砸金蛋活动亮点

    电脑砸金蛋活动亮点01、活动形式简单粗暴,参与性强,进入活动选择金蛋击碎,即可参加抽奖。 02、背景个性化定制,开放活动背景自定义配置功能,商家可以定制设计个性专属活动 03、资料收集,自定义采集...

    阅读: 768

  • 青蛙游戏靠什么盈利

    青蛙游戏靠什么盈利

    01、这款游戏来自日本,中文名被译作“旅行青蛙”,目前并没有中文版。游戏中青蛙是你的“儿子”,玩法就是你饲养这只青蛙。 02、游戏主页面有两个,一个是庭院,一个是蛙的房间。庭院中有三叶草,收割三叶草...

    阅读: 645

  • LOL双倍经验卡怎么用如何购买

    LOL双倍经验卡怎么用如何购买

    英雄联盟游戏、双倍经验卡01、首先,登陆游戏,再“商城”里的“海克斯及其他”里选择“加成道具”,大家就可以看到各种期限和条件的双倍经验卡了。 02、双倍经验卡的类型分为两种:一种是期限双倍经验卡,顾...

    阅读: 724

  • nba2k12键盘操作大全

    nba2k12键盘操作大全

    01、前进:A 后退:S 往左:A 往右:D 02、空接:0 + Shift 背打:Enter + Shift 3 键 欧洲脚步:Shift + 5 半转身投篮: 7 03、传球键位:空格...

    阅读: 679

  • dnf暗影蔽日和荒古怎么选择?

    dnf暗影蔽日和荒古怎么选择?

    01、暗影蔽日:90级SS短剑,装备附加属性为最终伤害增加42%和25的属性强化。 02、荒古遗尘短剑:85级SS短剑,装备附加特效为增加35%所有攻击力,释放魔能后技能攻击力再上升20%。 03...

    阅读: 772

  • LOL逆羽天赋符文出装加点

    LOL逆羽天赋符文出装加点

    英雄联盟 英雄逆羽主符文01、主符文加点推荐:精密,因为逆羽是一个AD射手,主符文点精密可以使其普通攻击伤害更高。 02、主符文第二、三:迅捷步法+凯旋,迅捷步法提升逆羽的消耗恢复能力,凯旋为...

    阅读: 892

  • 《饥荒》怎么杀猪人

    《饥荒》怎么杀猪人

    01、直接击杀看见落单的猪,直接击杀。穿上护甲,带上木矛,注意走位就可以了。击杀会掉落大肉,有几率掉落猪皮。 02、让猪人自相残杀可以用怪物肉收买几个猪人,它们就会跟着你做攻击。这个时候玩家就负责捡...

    阅读: 720

  • 梦幻西游手游地府加点解析

    梦幻西游手游地府加点解析

    01、梦幻西游手游中有很多门派,分别是:普陀、方寸、地府、化生、龙宫、狮驼、魔王和大唐。 02、其中地府是一直比较重要的,因为地府的眼、六道和毒等技能都是必不可少的,而且他大招的作用,没其他职业可以...

    阅读: 726

  • 旅行青蛙怎么种三叶草

    旅行青蛙怎么种三叶草

    01、三叶草是自动生长的所以不需要种植,首次游戏可以在花坛处收割500个三叶草。 02、后面的三叶草会一点点往外长,大概3个小时左右就可以长满一次,长满之后即可收割获得三叶草。 03、可以通过充值...

    阅读: 758

  • 我的世界 输入中文的方法

    我的世界 输入中文的方法

    电脑01、首先我们先启动游戏,进入游戏之后,我们按下回车键 弹出打字窗口 但是此时我们只能输入英文(中文输入法无法使用) 02、不过我们可以同时按alt+tab键,切换会电脑桌面 03、接着在电脑...

    阅读: 760

热门文章