首页 > 其他 > 详细

二进制回文数

时间:2020-07-29 02:30:54      阅读:113      评论:0      收藏:0      [点我收藏+]

输出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\n", i);
                }
        }
        return 0;
}

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

二进制回文数

原文:https://www.cnblogs.com/yejiaxing-01/p/13394510.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!