第一章 枚举和模拟
03.对称平方数
描述
打印所有不超过256,其平方具有对称性质的数。如2,11就是这样的数,因为2*2=4,11*11=121。
输入描述:
无任何输入数据
输出描述:
输出具有题目要求的性质的数。如果输出数据不止一组,各组数据之间以回车隔开。
分析:
先建立一个函数求出其反序数
对于1234来说,想要求出其反序数,
可以先取余1234%10=4,然后1234/10=123,再0*10+4=4
123%10=3,123/10=3,4*10+3=43
依次类推得到4321
int Reverse(int n){
int reverse=0;//反序数
int remain=0;//余数
while(true){
remain=n%10;
reverse=reverse*10+remain;
n/=10;
if(n==0){
break;
}
}
return reverse;
}
反序数与平方数是否相等
遍历0到256
for(i=0;i<=256;i++){
if(i*i==Reverse(i*i)){
printf("%d\n",i);
}
完整代码如下
文章讲述了如何通过编程实现找到不超过256且其平方数具有对称性质的数。首先定义了一个函数`intReverse`来获取一个数的反序数,然后通过遍历0到256,检查每个数的平方是否与其反序数相等,如果相等则输出该数。
&spm=1001.2101.3001.5002&articleId=129235748&d=1&t=3&u=0f9fab3f5f994732a6ad70dcff9b4c75)
497

被折叠的 条评论
为什么被折叠?



