求m与n之间满足条件的数

救救孩子吧
为什么刚学c语言就给我那么难的题
怎么办我啥也不会

img


#include <stdio.h>
#include <math.h>
//逆序数判断回文数
int hw(int n)
{
    int d,s=0,t=n;
    while(t>0)
    {
        d = t%10;
        s = s*10 + d;
        t /= 10;
    }
    if(s == n)
        return 1;
    else
        return 0;
}


int pf(int n)
{
    int t = (int)sqrt((double)n);
    if(t*t == n)
        return t;
    else
        return 0;
}

int main()
{
    int i;
    int m,n;
    int t;
    scanf("m=%d,n=%d",&m,&n);
    for (i=m;i<=n;i++)
    {
        t = pf(i);
        if (i%2==1 && hw(i) && t)
        {
            printf("%d是奇数,它是%d的平方,反序后也是%d\n",i,t,i);
        }
    }
    
    return 0;
}


奇数就是求余2等于1
完全平方数就是开根号后与强制取整结果相等
回文数就是将数倒过来相同

#include <stdio.h>
#include <math.h>
int hw(int n)
{
    int m=0;
    int k = n;
    while(k>0)
    {
        m = m*10+k%10;
        k = k/10;
    }
    if(m==n)
        return 1;
    return 0;
}

int pf(int n)
{
    double d = sqrt(n*1.0);
    if(d == (int)d)
        return d;
    return 0;
}
int main()
{
    int m,n,i,d;
    scanf("m=%d,n=%d",&m,&n);
    for(i=m;i<=n;i++)
    {
        if(i%2==0)
            continue;
        if(hw(i) == 0)
            continue;
        d = pf(i);
        if(d != 0)
            printf("%d是奇数,它是%d的平方,反序后也是%d\n",i,d,i);
    }
    return 0;
}

开根可以用sqrt函数
回文判断可以用string来编写
https://www.cnblogs.com/raiven2008/p/4209221.html
可以用atoi