奈何花飞絮 2022-10-20 18:36 采纳率: 100%
浏览 18
已结题

在本地测试正确但是提交ptA提示部分错误

题目:
输入两个整数,m和n,其中m<=n
判断[m,n]之间是否有含3和7的素数。
有则输出Yes,否则输出No

输入格式:
两个正整数m和n。

输出格式:
Yes或No。

我的答案:
#include<stdio.h>
#include<math.h>
int is_prime(int n);
int hj_q(int n);

int main()
{
int m,n,i,f=0;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
{
if(is_prime(i)==1)
{
if(hj_q(i)==1)
f=1;
}
if(f) break;
}
if(f==1) printf("Yes\n");
else printf("No\n");
return 0;
}

int is_prime(int n)
{
int f=0,i,y;
if(n==1) return 0;
y=(int)(sqrt(n)+1e-10);
for(i=2;i<=y;i++)
{
if(n%i==0) return 0;
}
return 1;
}

int hj_q(int n)
{
for( ; ; )
{
if(n%10==3 || n%10==7) return 1;
n=n/10;
if(n==0) break;
}
return 0;
}

  • 写回答

1条回答 默认 最新

  • 游坦之 全栈领域优质创作者 2022-10-20 20:43
    关注

    pta 我记得最后是不能输出换行的,可能是最后一句你写了换行符,建议仔细阅读题目
    把最后一行独立处理一下
    有用记得采纳呐

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月2日
  • 已采纳回答 10月25日
  • 创建了问题 10月20日