回文数判断,回文素数(C++) | 您所在的位置:网站首页 › 用c判断素数 › 回文数判断,回文素数(C++) |
回文数
定义
记字符串 w w w的倒置为 w R w^R wR。例如 ( a b c d ) R = d c b a (abcd)^R=dcba (abcd)R=dcba, ( a b b a ) R = a b b a (abba)^R=abba (abba)R=abba。 对字符串x,如果 x x x满足 x R = x x^R=x xR=x,则称之为回文;例如abba是一个回文,而abed不是。 一、判断回文数 法一 思路:将原数字倒序,比较是否还和原数相同。 特点: 此方法只适用于判断回文数,不能判断回文字符串。此方法可以去除回文数可能存在的前导0再进行判断。 代码: #include using namespace std; int main() { int n, t, s = 0; cin >> n; t = n; //拷贝一份n while (t) { //将t倒序存入s中,注意此方法会去除前导0 s = 10 * s + t % 10; t /= 10; } s == n ? cout if (s[i] != s[j]) { ok = false; break; } i++, j--; //更新指针 } ok ? cout int n; //输入位数 n cin >> n; if (n & 1) n++; //如果n是奇数 n >>= 1; //无论奇偶都要除以2 cout cout cout //构造其对应的回文数t t = 10 * t + p % 10; p /= 10; } bool ok = true; for (j = 2; j ok = false; break; } } if (ok) a.push_back(t); } cout |
CopyRight 2018-2019 实验室设备网 版权所有 |