题目:有数字R和L,在R和L之间(包括本身)素数的个数共有x个,若x/(L-R+1)<1/3,则输出“Yes”,否则输出“No”。
第一行输入n表示测试数据的总数,每个测试数据的一行是两个整数R和L。
代码如下:
#include<stdio.h>
int A(int n);
int main()
{
int r,l,n,i,j,m,k;
int count;
int a[100][100],b[100]={0};
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d%d",&r,&l);
a[i][0]=r;
a[i][l-r]=l;
for(j=r+1;j<l;j++)
{
a[i][j-r]=j;
b[i]++;
}
b[i]=b[i]+1;
}
for(i=0;i<n;i++)
{
count=0;
for(m=0;m<b[i];m++)
{
k=A(a[i][m]);
if(k)
{
count++;
}
}
if(count*1.0/(b[i])<(1.0/3))
{
printf("Yes\n");
}
else
printf("No\n");
}
return 0;
}
int A(int n)
{
int o;
for(o=2;o<(n/2);o++)
{
if(n%o==0)
{
return 0;
}
}
return 1;
}
本次是个人第一次发代码,希望各位多多支持,欢迎所有人私信讨论有关C语言方面的知识。欢迎!欢迎!欢迎!(重要的事情说三遍)
最后祝大家新年快乐!