零K沁雪


私信TA

用户名:qczl

访问量:78065

签 名:

零K沁雪

等  级
排  名 44
经  验 12403
参赛次数 3
文章发表 35
年  龄 0
在职情况 在职
学  校
专  业

  自我简介:

解题思路:

1、主要就是判断 isprime(x) 的参数是不是素数了,看下面代码就行

注意事项:

参考代码:

#include<stdio.h>
#include<math.h>

//如果参数是素数则返回原数字,否则返回0
int isprime(int x)
{
    //1 不是素数,排除
	if(x > 1)             
	{
		int i, n;
		//其实算到x的平方根就可以了,因为合数在[2,sqrt(x)]之间一定有因子
		n = sqrt(x)+1;               
		for(i = 2; i < n; i++)
		{
			if(x%i == 0)
				return 0;
		}
		return x;
	}
	else
		return 0;
}

int main()
{
	int m, n, i, sum = 0;
	scanf("%d %d", &m, &n);
	if(m > 0 && n > 0 && m < n)
	{
		for(i = m; i <= n; i++)
		{
		    //因为不是素数返回0,所以加上也不影响结果
			sum+=isprime(i);        
		}
		printf("%d\n", sum);
	}
	return 0;
}


 

0.0分

0 人评分

  评论区

  • «
  • »