juhugufudu 发表于 2019-7-30 20:02:00

一个小案例,求助


问题: 一个四位数,个位与十位相同,百位与千位相同,并且是一个完全平方数。
要求:用户输入一个四位数,返回是否符合条件

求助,谢谢
请回复源代码..

Croper 发表于 2019-7-30 20:02:01

标准版本#include <math.h>
int func(int num){
        if (num>9999 || num<1000) return 0;
        if (num % 10 !=num/10%10 || num/100 %10!=num/1000) return 0;
        int n=sqrt(num);
        if (n*n!=num) return 0;
        return 1;
}
int main(){
    int num;
        scanf("%d",&num);
        if (func(num)){
                printf("符合条件");
        }
        else{
                printf("不符合条件");
        }
   
}

最简版本
int main(){
    int num;
    scanf("%d",&num);
    printf(num==7744?"符合条件":"不符合条件");
}

juhugufudu 发表于 2019-7-30 20:04:23

C语言实现..谢谢

micolar 发表于 2019-7-30 20:29:24

#include<stdio.h>
#include<math.h>
char ifaabb(int a){
        if(a%10 != a/10%10 || a/100%10 != a/1000)
                return 0;
        return 1;
}
char ifsqrt(int a){
        if( (int)pow(sqrt(a),2) == a)
                return 1;
        return 0;
       
}
int main(){
        int a;
        scanf("%d",&a);
        if(ifaabb(a))
                if(ifsqrt(a)){
                        printf("yes");
                        return0;
                                        }
       
        printf("no");
        return 0;
}
页: [1]
查看完整版本: 一个小案例,求助