第3课:多重循环(质数)

潘C3班

2024-03-23 22:31:46
2024-04-23 22:31:46

信息与公告

质数(素数)
因数(因子、约数)

1、求 n 以内质数:让 x 从 1 ~ n 循环,判断 x 是否为质数,是则输出。

for(int x=1; x<=n; x++)
{
	int k=0;
	for(int i=2; i*i<=x; i++)   // 判断 2 ~ 根号x 之间,是否有x的因数
	{
		if(x%i==0)  // i是x的因数
		{
			k++;
			break;
		}
	}
	if(k==0&&x>=2)  // x的因数个数等于0,x是质数
	{
		cout<<x<<endl;
	}
}

2、丑数判断:除了2、3、5之外,没有其它质数因子
例如:判断x是否是丑数

while(x%2==0)  // 把x的所有因子2去掉
{
	x=x/2;
}
while(x%3==0)
{
	x=x/3;
}
while(x%5==0)
{
	x=x/5;
}
if (x==1)
{
	cout<<”yes”;
}
else
{
	cout<<”no”;
}