素数
只能被 1 和 它本身 整除的数就叫素数。
算法设计
很简单,如果n=1,返回0;(1既不是素数也不是合数)
i从2开始自增,设置一个循环,用n%i,如果n%i==0,返回0,(这是找反例)
循环结束也没有找到反例,当前就是素数。
函数求解
注意主函数是如何调用isPrime()函数并让他进行打印的
直接上代码!
int isPrime(int n)
{
int i = 0;
if (n == 1)
return 0;
for (i = 2; i <= n; ++i)
{
if (n%i == 0)
{
return 0;
}
}
return 1;
}
void main()
{
int j;
for (j = 100; j <= 200; ++j)
{
int ret = isPrime(j);
if (ret == 1)
printf("%d", j);
}
}
暴力穷举
void main()
{
int i = 0;
int count = 0;
for (i = 100; i <= 200; i++)
{
int j = 0;
for (j = 2; j < i; j++)
{
if (i%j == 0)
break;
}
if (j == i)
{
printf("%d\n",i);
count++;
}
}
printf("100~200之间有%d个素数\n",count);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)