1.问题:打印所有不超过n(取n<256)的其平方具有对称性质的数(也称回文数)。
2.思路:用变量i从1到256遍历,将其平方转化为一个字符串,利用函数通过双指针判断该字符串是否有对称性从而判断i是否回文数。
3.程序流程图:
4.代码实现:
#include <iostream>
using namespace std;
int fact(string str)
{
for(int i=0,j=str.size()-1;i!=j;i++,j--){
if(str[i]!=str[j])
return 0;
}
return 1;
}
int main()
{
int k;
for(int i=1;i<256;i++){
k=i*i;
string str=to_string(k);
if(fact(str)){
cout<<i<<"是回文数"<<endl;
}
}
return 0;
}