对称平方数
时间限制: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; } } }