对称平方数

时间限制:1秒 空间限制:32768K 热度指数:14383

 算法知识视频讲解

校招时部分企业笔试将禁止编程题跳出页面,为提前适应,练习时请使用在线自测,而非本地IDE。

题目描述

打印所有不超过n(n<256)的,其平方具有对称性质的数。如11*11=121。

输入描述:

输出描述:

每行一个数,表示对称平方数。
示例1

输入

复制

输出

复制

说明

 对称平方数的难点是将int型数字拆分成int数组,并根据数组判断该数字是否对称的问题。

//#include <iostream>
#include <bits/stdc++.h>

using namespace std;

int main(){
    for(int i=1; i<256; i++){
        int res = i*i;
        int data[5];
        int cnt = 0;
        int tmp = res;
        while(tmp>0){
            data[cnt] = tmp%10;
            tmp = tmp/10;
            cnt++;
        }
        bool flag = true;
        for(int j =0; j <cnt/2; j++){
            if(data[j] != data[cnt-1-j]){
                flag = false;
            }
        }
        if(flag == true ){
            cout << i <<endl;
        }

    }
}
 
原文地址:https://www.cnblogs.com/superjn/p/10604794.html