对称数判断

来源:互联网 发布:怀卡托大学 知乎 编辑:程序博客网 时间:2024/05/02 19:41
定义:一个整数,它的各位数字如果是左右对称的,则称这个数是对称数。
例如:1234321、123321等。

一般来说,位数大于或等于两位。最小的对称数是11,没有最大的对称数,因为数位是无穷的。

 

#include <iostream>using namespace std;bool isSymmetryNum_test(const long n){int result=0;int temp=n;while(temp){result = result*10 + temp%10;temp = temp/10;}if(result==n)return true;else return false;}bool isSymmetryNum(const long n){int i,j;int array[32];int temp=n;int length=0;for(i=0;temp;i++){array[i]= temp%10;temp = temp/10;length++;}for(j=0;j<(length/2);j++){if(array[j]!=array[length-1-j])return false;}return true;}int main(){long num;cout<<"Please input a number:"<<endl;cin>>num;if(isSymmetryNum_test(num))cout<<"YES\n";elsecout<<"NO\n";if(isSymmetryNum(num))cout<<"YES\n";elsecout<<"NO\n";return 0;}


 

参考:http://blog.csdn.net/xintingandzhouyang/article/details/7069817

原创粉丝点击