二进制回文数

Posted yejiaxing-01

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二进制回文数相关的知识,希望对你有一定的参考价值。

输出1到n以内所有的二进制回文数

#include <stdio.h>

#define SIZE 50

typedef enum bool Bool;
enum bool {
        false, true
};

int main()
{
        int n, i, j;
        Bool flag = false;
        scanf("%d", &n);
        for (i = 1; i <= n; i++) {
                int a[SIZE] = {0};
                j = 0;
                int tmp = i;
                while (tmp != 0)
                {
                        a[j++] = tmp % 2;
                        tmp /= 2;
                }
                int x;
                for (x = 0; x < j; x++) {
                        if (a[i] != a[j-x-1]) {
                                flag = true;
                                break;
                        }
                }
                if (flag == false) {
                        printf("%d
", i);
                }
        }
        return 0;
}

参考:https://zhidao.baidu.com/question/585449561561135765.html

以上是关于二进制回文数的主要内容,如果未能解决你的问题,请参考以下文章

二进制回文数

52 回文平方数

回文数

字符串-回文数

洛谷 P1207 [USACO1.2]双重回文数 Dual Palindromes

洛谷 P1207 [USACO1.2]双重回文数 Dual Palindromes