C语言判断打印素数的方法

C语言判断素数。
质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。

思路:假如输入了一个数,通过一个i来进行循环,从2开始除,一直除到这个数的前一个。如果除了之后被整除了(不存在余数),就不是素数,反之就是素数(存在余数)

#define _CRT_SECURE_NO_WARNINGS
#include
void main()
{
	int num=0;
	int flg=0;//使用一个标志位来存储循环结果
	scanf("%d", &num);
	for (int i = 2; i < num; i++)//从2开始循环,到它本身前面一个素结束 比如 8 就是2-7循环
	{
		if (num % i == 0)//如果不存在余数,就说明被整除,被整除就不是素数了
		{
			flg = 0;//不是素数就把标志位 设置为0
			break;//被整除了,就说明不是素数,不需要在进行循环判断了,退出循环。
			//假如有一个数字6  6%3=0就不是素数,在次判断 6%4=2 2就为假了,结果就错了去,就覆盖了结果
		}
		else
		{
			flg = 1; //存在余数的情况下 就把flag设置为1
		}

		
	}
	if (flg == 0) //用flag来进行判断是否为素数
	{
		printf("%d,不是素数",num);
	}
	else
	{
		printf("%d,是素数",num);
	}
}

打印素数

#define _CRT_SECURE_NO_WARNINGS
#include
void main()
{
	int num = 0;
	int flg = 0;//使用一个标志位来存储循环结果
	for (int num = 2; num < 100; num++)
	{
		for (int i = 2; i < num; i++)//从2开始循环,到它本身前面一个素结束 比如 8 就是2-7循环
		{
			if (num % i == 0)//如果不存在余数,就说明被整除,被整除就不是素数了
			{
				flg = 0;//不是素数就把标志位 设置为0
				break;//被整除了,就说明不是素数,不需要在进行循环判断了,退出循环。
				//假如有一个数字6  6%3=0就不是素数,在次判断 6%4=2 2就为假了,结果就错了去,就覆盖了结果
			}
			else
			{
				flg = 1; //存在余数的情况下 就把flag设置为1
			}


		}

		if (flg == 1) //用flag=1说明是素数,来进行打印num
		{
			printf("%d\n", num);
		}
		
	}

}

你可能感兴趣的:(C)