在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;他既是完全平方数,又是两位数字相同,例如144,676等

来源:互联网 发布:windows刷mac os 编辑:程序博客网 时间:2024/05/18 01:40

在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;他既是完全平方数,又是两位数字相同,例如144,676等

#include <iostream>#include <stdio.h>#include <math.h>using namespace std;/*    (2007)按要求输出:在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;        他既是完全平方数,又是两位数字相同,例如144,676等*/int isSquere(int x)//判断是否是平方数{    double y =(double)x;    double temp = sqrt(y);    int i = (int)temp;    if(i*i == x){        return 1;    }    else {        return 0;    }}int isTwoSame(int x){    int digit0 = x%10;    int digit1 = (x/10)%10;    int digit2 = x/100;    return(digit0==digit1||digit0==digit2 ||digit1==digit2); //这里不知道有没有理解错误,三位数相同也算两位数相同}int main(){    for(int i =100;i<1000;++i){        if (isSquere(i)&&isTwoSame(i)){            printf("%d\n",i);        }    }// 调试代码,原因是digit0 == digit2 写成digit0 ==digit1,找了半天//    int i =121;//    int a=2,b=1;//    a = isSquere(i);//    b = isTwoSame(i);//    if (isSquere(i)&&isTwoSame(i)){//        printf("i=%d,a=%d,b=%d\n",i,a,b);//    }//    printf("i=%d,a=%d,b=%d\n",i,a,b);    return 0;}
0 0