首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 一个小学数学题
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-03 15:45:32 楼主
    这是今天我同事的小孩做的小学四年纪数学题:春江花月夜*4=夜月花江春。
    我写了下用的穷举,但感觉效率太低了,不知道还有什么思想能提高下效率
    我的代码如下:

    #include <iostream.h>
    void main(){
    int a,b,c,d,e,x,y;
    for(a=1;a <10;a++)
    for(b=1;b <10;b++)
    for(c=1;c <10;c++)
    for(d=1;d <10;d++)
    for(e=1;e <10;e++)
    {
    x=y=0;
    x=a*10000+b*1000+c*100+d*10+e;
    y=e*10000+d*1000+c*100+b*10+a;
    if(y==x*4)
    cout < <x < <endl;
    }


    }
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-03 16:14:381楼 得分:0
    小学四年纪数学题 不需要写程序的吧?

    即使穷举,也要从夜月花江春的顺序开始;

    #include <iostream.h>
    void main(){
    int a,b,c,d,e,x,y;
    for(a=1;a <10;a++)
      e=4*a % 10;
      for(b=1;b <10;b++) 
      {
        d=(4*(b*10+a) % 100) / 10;
        for (c=1;c <10;c++)
        {
        x=a*10000+b*1000+c*100+d*10+e;
        y=e*10000+d*1000+c*100+b*10+a;
        if(x==y*4) cout < < y < <endl;
        }
      }
    }


    }


    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-03 16:17:232楼 得分:0
    春江花月夜*4=夜月花江春

    如果夜确定了,那么春也就确定了,春=4*夜 % 10
    如果月夜确定了,那么江也就确定了,江=(4*(月*10+夜) %100) /10


    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-03 16:20:043楼 得分:0
    还有,题目没说不能为0,所以每个数字的下标应该是从0开始;
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-03 16:51:474楼 得分:0
    不是所有的题都可以用程序提高效率吧,就5个数,算呗
    春江花月夜*4=夜月花江春
    春只能是1,2因为3以上就要进位,而夜×4=春,所以春是偶数:2
    夜×4=春,所以夜只能是3,8,而春×4=夜,所以夜>=8,因此夜=8
    ……依次往中间推,注意进位 21978
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-03 16:53:065楼 得分:0
    真要用程序,10个数中选5个排列组合也比10^5快一点吧
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-03 16:56:356楼 得分:0
    编程太奢侈了!
    用排除法:首先 0 <春 <3为4的倍数的尾数 即 春=2,且 夜=8;
    夜=8,则 江 <3,得 月=4(花无解,舍去),7;
    月=7,则 花=8(舍去),9。
    所以: 21978*4=87912
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-03 17:00:237楼 得分:0
    夜=8,则 江 <3,得 月=2(花无解,舍去),7;
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-03 17:56:368楼 得分:0
    很容易 6L的思路就好了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-04 10:47:519楼 得分:0
    编程是懒于用脑,象二楼那样编程不如6楼分析。。几层循环效率就低,你也发现了它的速度很慢你接受不了吗?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • AFIC
    • 等级:
    发表于:2008-07-04 13:54:3810楼 得分:0
    有编程序的时间,早推出来了……
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-04 20:42:1511楼 得分:0
    剪枝策略
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-05 13:00:1512楼 得分:0
    似乎任何问题都可以归结到状态空间的搜索与选择。
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved