| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1223 人关注过本帖
标题:【新手问个问题 】请各位大侠不吝赐教
只看楼主 加入收藏
打死黑狗!
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:74
专家分:169
注 册:2012-12-26
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:18 
【新手问个问题 】请各位大侠不吝赐教
福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:

    ABCDE * ? = EDCBA

    他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”

    华生:“我猜也是!”

    于是,两人沉默了好久,还是没有算出合适的结果来。

    请你利用计算机的优势,找到破解的答案。

    把 ABCDE 所代表的数字写出来。

只要求给思路  不是直接要代码 我知道论坛的规矩  
搜索更多相关主题的帖子: 福尔摩斯 华生 
2012-12-29 20:45
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:2 
那个数字是一位数吗?

                                         
===========深入<----------------->浅出============
2012-12-29 20:52
打死黑狗!
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:74
专家分:169
注 册:2012-12-26
收藏
得分:0 
回复 2楼 laoyang103
题目就是这样的  不过应该是一位吧  

世界上只有没有实力的人才整天希望被别人赞赏
2012-12-29 20:54
飞跃的乌龟
Rank: 2
等 级:论坛游民
帖 子:96
专家分:18
注 册:2012-10-20
收藏
得分:2 
回复 2楼 laoyang103
应该是吧,不然位数不会一样,不过答案不知道,一起等
2012-12-29 20:56
XuMM_12
Rank: 1
等 级:新手上路
帖 子:8
专家分:9
注 册:2012-11-12
收藏
得分:2 
楼主可以试试穷举法
程序代码:
#include "stdio.h"

int trans(int,int,int,int,int);

int main()
{
    int i,j,k,m,n;

    for(i=1;i<10;i++)
        for(j=0;j<10;j++)
            for(k=0;k<10;k++)
                for(m=0;m<10;m++)
                    for(n=0;n<10;n++)
                        if(0==trans(i,j,k,m,n)%trans(n,m,k,j,i))
                            printf("%d%d%d%d%d\n",i,j,k,m,n);
}

int trans(int i,int j,int k,int m,int n)//该函数将5个孤立的数组合为一个5位十进制的数字。
{
    return i*10000+j*1000+k*100+m*10+n;
}

2012-12-29 20:56
LOVE燕
Rank: 2
等 级:论坛游民
帖 子:37
专家分:12
注 册:2012-11-14
收藏
得分:2 
我个人也做过这道题,我觉得ABCDE呢是表示A表示0~9的数字。。以后BCDE也是一样。。
这样他们可以组合成类似于这样的一个数字:ABCDE=15034,反过来EDCBA=43051。(这只是一个假设)
他应该是要求你求15034*?=43051(当然?的数字应该是整数吧,这也只是一个假设)。
个人理解,只供参考。
2012-12-29 21:19
LOVE燕
Rank: 2
等 级:论坛游民
帖 子:37
专家分:12
注 册:2012-11-14
收藏
得分:0 
如果题意你看明白。我个人是这样做的
for(i=1000;i<99999;i++)
{之后这里你就想办法把他的个十百千万位的数字求出来。
用A代表万位数,B代表千位数,以此类推。
再用一个if语句把他们不个十百千万位都不相等的数字求出来。
可以的话就求出EDCBA的数字。。即num=E*10000+D*1000+C*100+B*10+A
再来一个if语句条件来(num%i==0)这时候再用printf(输出i);
}
这个程序循环好多万次。。我也没有试过可不可以这样做。你可以按照这个思路去想想吧。。
2012-12-29 21:25
打死黑狗!
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:74
专家分:169
注 册:2012-12-26
收藏
得分:0 
if(0==trans(i,j,k,m,n)%trans(n,m,k,j,i))//这一句是什么意思

你的做法对我有一定的启发

世界上只有没有实力的人才整天希望被别人赞赏
2012-12-29 21:26
打死黑狗!
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:74
专家分:169
注 册:2012-12-26
收藏
得分:0 
唉 if  这里 判断是关键啊  坐等大神指教

世界上只有没有实力的人才整天希望被别人赞赏
2012-12-29 21:41
淡江胡真学习
Rank: 2
等 级:论坛游民
帖 子:20
专家分:17
注 册:2012-11-23
收藏
得分:2 

10001*1=10001
......
2012-12-29 21:53
快速回复:【新手问个问题 】请各位大侠不吝赐教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031178 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved