牛客网 对称平方数【回文数的判断 两个vector是否相等】

题目描述

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

输入描述:

输出描述:
每行一个数,表示对称平方数。

代码

通过

//打印所有不超过n(n < 256)的,其平方具有对称性质的数。如11 * 11 = 121。
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
	int qnum;

	int i;
	int lastbt;
	vector<int> onebt;

	for (i = 1; i < 256; i++)
	{
		onebt.clear();
		qnum = i * i;
		//分离每一位
		while (qnum != 0)
		{
			lastbt = qnum % 10;
			onebt.push_back(lastbt);
			qnum /= 10;
		}
		//判断翻转是否相同
		vector<int> ronebt(onebt);
		reverse(onebt.begin(), onebt.end());
		if (onebt == ronebt)
		{
			cout << i << "\n";
		}
	}

	//cout << endl;
	system("pause");
}

猜你喜欢

转载自blog.csdn.net/sinat_42483341/article/details/89259970