均是素数 (20 分) C语言

均是素数 (20 分)

在给定的区间 [m,n] 内,是否存在素数 p、q、r(p,使得 pq+rqr+prp+q 均是素数?

输入格式:

输入给出区间的两个端点 0,其间以空格分隔。

输出格式:

在一行中输出满足条件的素数三元组的个数。

输入样例:

1 35

输出样例:

10

样例解读

满足条件的 10 组解为:

2, 3, 5
2, 3, 7
2, 3, 13
2, 3, 17
2, 5, 7
2, 5, 13
2, 5, 19
2, 5, 31
2, 7, 23
2, 13, 17

代码:

#include
#include
int sushu(int i)          //求素数函数       
{
	int flag1=0;
	if(i>=2)
	{
		for(int j=2;j<=sqrt(i);j++)
		{
			if(i%j==0)
			{
				flag1=1;
				break;
			}
		}
	}
	else
		return 1;
	return flag1;
}
int main()
{
	int n,m,i,j,t,a[10000],flag1=0,k=0,count=0;
	scanf("%d %d",&n,&m);
	for(i=n;i<=m;i++)
	{
		flag1=sushu(i);
		if(flag1==0)
		{
			a[k]=i;
			k++;
		}
	}	
	for(i=0;i<=k;i++)
	{
		for(j=i;j<=k;j++)
		{
			for(t=j;t<=k;t++)
			{
					if((sushu(a[i]*a[j]+a[t])==0)&&(sushu(a[j]*a[t]+a[i])==0)&&(sushu(a[t]*a[i]+a[j])==0))
					count++;
			}
		}
	}
	printf("%d",count);
	return 0;
}

提交结果:

均是素数 (20 分) C语言_第1张图片

你可能感兴趣的:(天梯赛,蓝桥杯,c语言)