关于ABCDE*4=EDCBA 问题

这是一篇关于通过逻辑分析解决编程题目的文章,具体问题是找到五位数ABCDE,使得其乘以4等于其逆序数EDCBA。经过分析得出A必须为2,E为8,C只能是3、6或9,最终确定(B,C,D)为(1,9,7),从而得到解(A,B,C,D,E) = (2,1,9,7,8)。" 120316879,11434742,webpack打包详解:配置、工作原理与优化,"['javascript', '前端开发', 'Webpack', 'Babel']
摘要由CSDN通过智能技术生成

题目:
ABCDE*4=EDCBA
A、B、C、D、E 分别代表5个整数 且不重复

这是一道比较简单的编程
下面给出一个遍历的C语言解法:

#include <stdio.h>

int calc ()
{
    for (int i=10001; i<100000; i++)
    {
        int right = 0;
        int left = i;
        while ( left != 0 ) /*求右边的值*/
        {
            right = right * 10 + left % 10;
            left /= 10;
        }
        
        if ( (i << 2) == right )
        {
            return i;
        }
    }

    return -1;
}

void main(void)
{
    printf("the result is : %d/n", calc());
}
但这种求法明显存在很多问题 为了获得更高的性能 我们完全可以先通过逻辑判断 去除掉一些明显无用的情况
以下是一些逻辑分析
1.ABCDE这5个数

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值