前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言 | 判断是否素数

C语言 | 判断是否素数

作者头像
小林C语言
发布2020-11-24 15:26:04
2.7K0
发布2020-11-24 15:26:04
举报

“要成为绝世高手,并非一朝一夕,除非是天生武学奇才,但是这种人…万中无一”

——包租婆

这道理放在C语言学习上也一并受用。在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从C语言小白进阶到高手,需要经历的是日积月累的学习。

那么如何学习呢?当然是每天都练习一道C语言题目!!

作者

闫小林

白天搬砖,晚上做梦。我有故事,你有酒么?

例16:C语言实现输入一个大于3的整数n,判断他是否为素数(质数)。

解题思路:本题采用的算法是,让n被i除,如果number能被2~(number-1)之中的任何一个整数整除,则表示number肯定不是素数,不必再继续被后面的整数除,因此,可以提前结束循环。

源代码演示:

代码语言:javascript
复制
#include<stdio.h>//头文件 
int main()//主函数 
{
  int number,i;//定义变量 
  printf("请随机输入一个数:");//提示语句 
  scanf("%d",&number);//键盘输入需要判断的数 
  for(i=2;i<=number-1;i++)//循环从2开始,到这个数的掐前一个数为止 
  {
    if(number%i==0)//如果取余结果为0 
    break;
  } 
  if(i<number)
  {
    printf("%d不是素数",number);
  } 
  else
  {
    printf("%d是素数",number);
  } 
  return 0; //函数返回值为0 
}

编译运行结果如下:

代码语言:javascript
复制
请随机输入一个数:56
56不是素数
--------------------------------
Process exited after 4.465 seconds with return value 0
请按任意键继续. . .

读者需要知道什么是素数,素数一般指质数,是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。

此题的关键是看结束循环时i的值是否小于number,如果number能被2~(number-1)之间的一个整数整除,则必然是由break语句导致循环提前结束,即i并未达到number的值时,循环就终止了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 C语言入门到精通 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档