问题描述
解决方案
外层循环从i=min开始,直到i>max结束
内层循环从j=2开始,直到i能被j整除 或者 j>=i时结束。
当j>=1时说明j是素数,开始给素数累计count++。
解决方案二:
//构建一个带两个参数并且需要返回int类型值的方法
public int countNumber(int min, int max)
{
int count = 0;//声明int(整数型)字段 名称为count 累计素数个数的计数器
int j = 2;//声明int(整数型)字段 名称为j
//素数定义:除了1和它本身外,不能被其他自然数整除
for (int i = min; i <= max; i++)
{
for (j = 2; j < i; j++)
{
if (i % j == 0)//能被其他数整除(i是j的倍数),break跳出内层for循环
{
break;
}
}
if (j >= i)//说明此时的i为素数,
{
count++;//计数器累加
}
}
return count;//返回素数个数
}
建议刚开始你可以带入两个数字进去,自己慢慢推
解决方案三:
i%j j都大于i了那后面的数肯定无法将i整除了,就行6%7这样下去就没意义了
给你提个意见第二个for循环里面j<i换成j<i/2就行了