不要小瞧我 2022-12-19 12:38 采纳率: 94.1%
浏览 19
已结题

函数回文素数(求错误点)

img


#include<stdio.h>
int fact(int n)
{
    int i;
    if(n<2)return 0;
    for(i=2;i*i<=n;i++)
    if(n%i==0)return 0;
    return 1;
}
int fbct(int n)
{   int s=0;
    while(n>0){
        s=s*10+n%10;n/=10;
    }if(s!=n)return 0;
else    return 1;
}
int main()
{
    int m,n,i,d=0;
    scanf("%d %d",&m,&n);
    for(i=m;i<=n;i++)
    {if(fact(i)&&fbct(i))d++
    ;}printf("%d",d);
    return 0;
}

回文素数,求错误点,不知道哪错了

  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2022-12-19 13:42
    关注

    回文函数错误。n都被你while循环改成0了啊,if(s!=n)肯定不对了啊。在while循环前,加个int m=n;最后if(s!=m) return 0

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月27日
  • 已采纳回答 12月19日
  • 创建了问题 12月19日