文章
5
粉丝
44
获赞
0
访问
3.2k
为什么一直是50%
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int isprime(int n)
{
int sqt=sqrt(n);
if(n==1)
return 0;
if(n==2)
return 1;
for(int i=2;i<=sqt;i++)
{
if(n%i==0)
{
return 0;
}
}
return 1;
}
int main()
{
int n;
scanf("%d",&n);
int cnt=0;
int flag=0;
int t=0;
int a[100];
for(int i=1;i<=n;i++)
{
if(isprime(i)&&i%10==1)
{
flag=1;
a[t]=i;
...
登录后发布评论
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int isprime(int n)
{
int sqt=sqrt(n);
if(n==1)
return 0;
if(n==2)
return 1;
for(int i=2;i<=sqt;i++)
{
if(n%i==0)
{
return 0;
}
}
return 1;
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int cnt=0;
int flag=0;
int t=0;
int a[100000];
for(int i=1;i<=n;i++)
{
if(isprime(i)&&i%10==1)
{
flag=1;
a[t]=i;
t++;
}
}
if(flag==0)
printf("-1");
else
{
for(int i=0;i<t-1;i++)
{
printf("%d ",a[i]);
}
printf("%d\n",a[t-1]);
}
}
return 0;
}
新代码
你最后一次提交66%的原因的是a数组小了,注意看题目数据范围开大一点。