c语言实践 判断一个数是不是素数


int main()
{
    
	int input = 0;
	scanf_s("%d",&input);
	if (input < 2)
	{
		printf("wrong input");
		return 0;
	}


	for (int i = 2; i < input; i++)
	{
		if (input % i == 0)//能整除说明不是素数
		{
			printf("not prime");//不是素数就不要循环下去了
			return 0;

		}


	}
	//如果流程到了这里,说明input已经对i到input-1这中间所有的整数都尝试过了
	//而且都不能整除,说明是素数。
	printf("is prime");



	return 1;

  

今天又想出了一种方法,感觉这种比较好理解。

int main()
{
    
	int Isprime ;//素数标志,如果一个数是素数,它的结果就是1,不是它的结果即使0
	int input = 0;
	
		scanf_s("%d", &input);
		if (input < 2)
		{
			printf("wrong input ");
			return 0;
		}

		for (int i = 2; i < input; i++)
		{
			if (input%i == 0)
			{
				Isprime = 0;//不是素数
				break;// 不是素数就不用往下循环了,直接跳出来。
			}
			else
			{
				Isprime = 1;
			}
		}

		if (Isprime == 1)
		{
			printf("is prime\n");
		}
		else
		{
			printf("not prime\n");
		}

	
}

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM