C语言编程实现判断一个数是否为质数

C语言案例源码 专栏收录该内容
99 篇文章 12 订阅

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

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

源代码演示:

#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 
}

编译运行结果如下:

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

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

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

C语言判断是否素数

  • 0
    点赞
  • 3
    评论
  • 14
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值