当前位置:编程学习 > C/C++ >>

对称平方数

题目
[html] 
题目描述:  
打印所有不超过n(n<256)的,其平方具有对称性质的数。  
如11*11=121  
输入:  
无任何输入数据  
输出:  
输出具有题目要求的性质的数。如果输出数据不止一组,各组数据之间以回车隔开。  
样例输入:  
样例输出:  
 
 
思路
比较数组的数据是否满足对称的性质
对整数取余求每一位数
 
AC代码(c)
[cpp]  
#include <stdio.h>  
#include <stdlib.h>  
  
int judgeSymmetry(int square);  
  
  
int main()  
{  
    int i;  
  
    for(i = 0; i < 256; i ++)  
    {  
        if(i == 0)  
        {  
            printf("0\n");  
        }else  
        {  
            if(judgeSymmetry(i * i))  
                printf("%d\n", i);  
        }  
    }  
  
    return 0;  
}  
  
/** 
 * Description:判断square是否满足对称性质 
 */  
int judgeSymmetry(int square)  
{  
    int i, j, flag, arr[10];  
  
    //将square每一位放入数组中  
    for(i = 0; square; i ++, square /= 10)  
    {  
        arr[i] = square % 10;  
    }  www.zzzyk.com
  
    //判断数组是否符合对称性质  
    for(flag = 1, j = i / 2; j >= 0; j --)  
    {  
        if(arr[j] != arr[i - 1 - j])  
        {  
            flag = 0;  
            break;  
        }  
    }  
  
    return flag;  
}     
 
补充:软件开发 , C++ ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,