| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2547 人关注过本帖, 1 人收藏
标题:三羊献瑞~
只看楼主 加入收藏
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
结帖率:99.25%
收藏(1)
已结贴  问题点数:20 回复次数:10 
三羊献瑞~
三羊献瑞

观察下面的加法算式:



    祥 瑞 生 辉
+    三 羊 献 瑞
-------------------
  三 羊 生 瑞 气

 如果有对其问题可以参考图片~

图片附件: 游客没有浏览图片的权限,请 登录注册


其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。

请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。

我还是先少说话了……看看这题感觉如何~

[此贴子已经被作者于2017-10-22 23:02编辑过]

搜索更多相关主题的帖子: 相同 汉字 代表 数字 不同 
2017-10-22 23:01
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:20 

程序代码:
#include<stdio.h>

int main()
{
    int xiang = 0, rui = 0, sheng = 0, hui = 0, san = 0, xian = 0, qi = 0,yang = 0;
    int beijia = 0, jia = 0, he = 0;
    for (xiang = 8; xiang <= 9; xiang++)
    {
        for (san = 1; san <= 1; san++)
        {
            for (yang = 0; yang <= 1; yang++)
            {
                for (hui = 0; hui <= 9; hui++)
                {
                    for (rui = 0; rui <= 9; rui++)
                    {
                        for (xian = 0; xian <= 9; xian++)
                        {
                            for (sheng = 0; sheng <= 9; sheng++)
                            {
                                for (qi = 0; qi <= 9; qi++)
                                {
                                    beijia = xiang * 1000 + rui * 100 + sheng * 10 + hui;
                                    jia = san * 1000 + yang * 100 + xian * 10 + rui;
                                    he = san * 10000 + yang * 1000 + sheng * 100 + rui * 10 + qi;
                                    if (beijia + jia == he)
                                    {
                                        if ((xiang != rui) && (xiang != sheng) && (xiang != hui) && (xiang != san) && (xiang != xian) && (xiang != qi) && (xiang != yang)
                                            && (rui != sheng) && (rui != hui) && (rui != san) && (rui != xian) && (rui != qi) && (rui != yang)
                                            && (sheng != hui) && (sheng != hui) && (sheng != san) && (sheng != xian) && (sheng != qi) && (sheng != yang)
                                            && (hui != san) && (hui != xian) && (hui != qi) && (hui != yang)
                                            && (san != xian) && (san != qi) && (san != yang)
                                            && (xian != qi) && (xian != yang)
                                            && (qi != yang))
                                        {
                                            //printf("%d%d%d%d\n", xiang, rui, sheng, hui);
                                            printf("%d%d%d%d\n", san, yang, xian, rui);
                                            //printf("%d%d%d%d%d\n", san, yang, sheng, rui, qi);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    return 0;
}
2017-10-23 10:18
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 2楼 grmmylbs
哇~厉害了……我看过网上答案用的是递归~当然我更倾向于把这条当作一条趣味数学题来做,这题正好可以推导出唯一解~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-10-23 10:21
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:0 
导了一点,头大
2017-10-23 10:22
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 4楼 grmmylbs
http://m.blog.
提供一个答案链接,仅供参考~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-10-23 10:23
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
起初我找不到能算出来的人还以为这题比想象中要难嘛……还好我和那个准备参加蓝桥杯的同学说了一下他就弄出来了,才感觉比较正常~

解法~

先推导出……三=1,祥=9,羊=0;(不要问为什么,稍微思考一下应该可以推导出来的)

然后观察发现生=瑞+1;

(生(瑞+1)+献+进位?)%10=瑞;

如果有进位,那么献只能等于8,没有进位献只能等于9;
由于祥=9;可以排除献等于9这种可能,因此献等于8;

因此可以推测辉+瑞是有进位的;

接下来排除法;0 1 8 9可以排除

剩下的从2 3 4 5 6 7 这六个数里面选;

可以推导出辉+瑞的尾数只能为2或者3(最大6+7=13);
但由于生=瑞+1;献=8;
所以瑞不能等于6和7;
所以瑞只能等于5,辉等于7;

所以三羊献瑞四个字分别代表

1085~







[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-10-23 10:43
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
后记:PS看来我这个思路还是有个漏洞,一开始考虑进位祥是可能等于8的~
看看我怎么完善一下~不然我还真的有点说不过去~

然后发现祥等于8这种情况意味着味瑞+羊是有进位的,但由于羊等于0所以可以排除这种可能~

[此贴子已经被作者于2017-10-23 11:02编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-10-23 10:55
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
看我的
程序代码:
#include <stdio.h>
int pd(int,int,int);
void main()
{
    int i,j,k;
    for(i=1023;i<2000;i++)
    {
        for(j=9876;j>8000;j--)
        {
            k=i+j;
            if(pd(j,i,k))
            {
                printf(" %d\n+%d\n------\n%d\n",j,i,k);
                return;
            }
        }
    }
}
int pd(int x,int y,int z)
{
    int i,j,a[8],b[5],d[10]={0};
    if(z<10000)return 0;
    for(j=0,i=x*10000+y;i;i/=10)
    {
        d[i%10]=1;
        a[j++]=i%10;
    }
    for(i=j=0;i<10;i++)j+=d[i];
    if(j!=7)return 0;
    for(j=0,i=z;i;i/=10)
    {
        d[i%10]=1;
        b[j++]=i%10;
    }
    for(i=j=0;i<10;i++)j+=d[i];
    return j==8&&a[0]==a[6]&&a[0]==b[1]&&a[5]==b[2]&&a[2]==b[3]&&a[3]==b[4];
}


运行结果:
 9567
+1085
------
10652
Press any key to continue
收到的鲜花
  • 九转星河2017-10-23 16:44 送鲜花  10朵   附言:厉害厉害,佩服佩服~

能编个毛线衣吗?
2017-10-23 11:12
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 8楼 wmf2014
佩服高人~
看样子代码是经过数学逻辑推理处理的,感觉有点高深,嗯,看来我把这贴收藏有时间慢慢看~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-10-23 16:43
chengtian05
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-10-23
收藏
得分:0 
新生发表回复,说的不对,直接骂我就行,不用留情面!
我刚简单推了一下这个题,得到答案“三”=1
然后我看了各位大神的回复
所以,我想:
这里的“推”指的是“推理”
ok,这没问题,那么代码就会少写很多,而且简练
我想说的是,如果任何题目都用人工推理的话,那编程无非就等于为你写出答案的工具,而不是计算工具了
如同新出的阿拉法狗似的,他不懂围棋,全凭自学成才,这才是计算机该做的!
2017-10-23 20:58
快速回复:三羊献瑞~
数据加载中...
 
   



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

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