C语言:做二级有感——坑爹的素数

素数:
定义:除了1和它本身不能被其他任意的数整除的数;

那么在c语言里面,就把1和它本身排除就行


这是一个非常简单的算法,但是由于刚开始学c时老师讲的不明白,导致这个问题一直困惑着我


方法一:判断一定范围内的数有多少个是素数:

#include <stdio.h>
#include<windows.h>
#define N 1000
//100以内素数
int main(void)
{//1不是素数,所以可以排除
 int i;
 int count = 0;
 for (i = 2; i <= 100; i++)//这是定范围,0~100以内
 {
	  int j = 0;
	  for (j = 2; j <= i; j++)//除以除了1和他本身之外的数就从2开始
		  {
		   	if (i%j == 0)break;//如果能整除则跳出循环
		  }
	  if (i == j)//来到这,判断下是不是自己本身。如果是,那么就是素数,如果不是则不输出
	  {
		   count++;
		   printf("%d\n",i);
	  }
 }
 printf("\ncount=%d\n", count);
 system("pause");
 return 0;
}

在这里插入图片描述


更新:虽然我二级已经过了,今天梳理博客的时候突然看到,就更新一下
方法二:判断随意输入的数是否为素数:

#include <stdio.h>
#include<windows.h>
#define N 1000
//100以内素数
int main(void)
{//1不是素数,所以可以排除
	int i;
	int count = 0;
	int a;
	printf("请输入一个数判断是否是素数:");
	scanf_s("%d",&a);
	for (i = 2; i <= 100; i++)//这是定范围,0~100以内
	{
		if (a % i == 0)
		{
			if (i == a)//来到这,判断下是不是自己本身。如果是,那么就是素数,如果不是则不输出
			{
				printf("是素数");
			}
			else printf("不是素数"); break;
		}
		
	}
	return 0;
}

在这里插入图片描述
在这里插入图片描述

发布了32 篇原创文章 · 获赞 7 · 访问量 4019

猜你喜欢

转载自blog.csdn.net/qq_43026792/article/details/88727503