| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4746 人关注过本帖, 1 人收藏
标题:鬼谷子问徒
只看楼主 加入收藏
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
博士论文就这个水准?怀疑,其实解只能是一组,如果多余一组,那么两个人谁都没办法知道答案了。。

学习需要安静。。海盗要重新来过。。
2008-06-12 21:40
界水乘风
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2008-06-12 21:45
simpley
Rank: 1
等 级:新手上路
帖 子:262
专家分:0
注 册:2005-2-23
收藏
得分:0 
界水乘风:
     不要迷信经典.经典错误大了.不说别的,你说你见过这个题目,研究几十年了,可是我对你说,10个人里有8个人看到的都是错题,不信你在网上搜索一下,大部分题目都是说庞得到积,孙得到和(包括一些专家的文章也这么说,错误!),只有及个别的是庞得到和,孙得到积(正确)

myQQ::445750010
2008-06-12 21:46
界水乘风
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2008-06-12 21:46
simpley
Rank: 1
等 级:新手上路
帖 子:262
专家分:0
注 册:2005-2-23
收藏
得分:0 
[bo][un]界水乘风[/un] 在 2008-6-12 21:45 的发言:[/bo]

莫生气,
simpley,有没有兴趣加我qq,
我很想知道你是怎么考虑的。

我现在了解的信息是:你认为13和16是一组解,我认为不是。
我们讨论且仅讨论13,16是不是解。

好的

myQQ::445750010
2008-06-12 21:48
思考ING
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:140
专家分:0
注 册:2008-3-12
收藏
得分:0 
回复 53# simpley 的帖子
这个...错题?貌似谈不上吧?所谓的人物那只是代号而已,就像数学里的函数那样,变量只是字母而已,没有任何其他的意思!

天生孤独的思考~~~~~~~~~
2008-06-12 21:51
泉此方
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2008-6-10
收藏
得分:0 
[bo][un]simpley[/un] 在 2008-6-12 21:38 的发言:[/bo]

对方算出了积是多少?
对方怎么可能算出来,是老师给他说的,你都把题改了!

一切都是以鬼谷子告诉两人的为准,他告诉了一个人积是多少,不告诉他,他什么也不知道,他从那儿算出来,乘数和被乘数从哪来的?

讨论问题,先 ...

你的思维要是混乱了的话,麻烦你先整理一下,谢谢
你手上和为29,对方是可能算出来的,一共9种。问题就是,对方知道答案后,你自己仍然没有办法知道
还有,你哪里来的老师??谁在改题目呢??搞笑


" border="0" />[color=white]

[[it] 本帖最后由 泉此方 于 2008-6-12 22:03 编辑 [/it]]

[[it] 本帖最后由 泉此方 于 2008-6-12 22:04 编辑 [/it]]

#ifdef _LOLICON_
#include"Loli"  //http://
#endif
2008-06-12 22:01
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
燕子代码已经写的很好了。。读懂代码逻辑,就知道和这题目表述是一个意思。。。

学习需要安静。。海盗要重新来过。。
2008-06-12 22:36
tangyun
Rank: 1
来 自:桂林
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-6-4
收藏
得分:0 
好晕,高

我坚持,我快乐,我奋斗!
2008-06-12 22:41
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
分析下代码
// yanzi.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
int isOneSolve(int n, int nMax = 100)
{
    int nRet=0; //记录满足本条件数
    for (int nd=2; nd*nd<n; ++nd)
    {
        if ( n%nd==0 && n/nd<nMax)
            if (++nRet>1) return 0;
    }
    return nRet;
}
//条件1,sum的任意和的分拆之积不可能有唯一分解,否则对方可能猜出
//庞涓的条件我们首先可以分析,就是他手里和可以看出,孙的手里面不是素数之积(同时不是素数3次方),可以和合数积或合数与素数之积。同时拆分的组合小于100的组合不小于2.。也就是说把孙手里面的积分解不能是唯一的结果
//燕子在这里处理这个条件。
int p1(int sum)
{
    if(sum<6) return 0;
    for (int t=(sum-1)/2; t>1; --t)
    {
        if ( isOneSolve(t*(sum-t)) ) return 0;//一旦出现只能分解一次的情况肯定是素数之积了。。
    }
    return 1;
}
//条件2,只有一种积的分拆满足条件1
int p2(int times2)
{
    int nRet=0; //记录满足本条件数
    for (int nd=2; nd*nd<times2; ++nd)
    {
        if ( times2%nd==0 && p1(nd+times2/nd) )//这里判断是,孙的条件,孙说开始不知道,现在知道了。。
                                              //那么孙的积肯定满足庞涓的条件了,他就用庞涓的条件来检验,同时还要唯一解
                                              //否则他是没办法得到结果的
            if (++nRet>1) return 0;
    }
    return nRet;
}
//条件3,只有一种和的分拆满足条件2
int p3(int sum)
{
    int nRet=0; //记录满足本条件数
    for (int t=(sum-1)/2; t>1; --t)//孙知道条件了,庞就从孙的思路下推了,只要判断手里面的符合孙的条件就可以了。。同时还要满足唯一性。。否则他还是不知道
    {
        if ( p2(t*(sum-t)) )
            if (++nRet>1) return 0;
    }
    return nRet;
}

int _tmain(int argc, _TCHAR* argv[])
{
    for (int n=6; n<200; ++n) // 从庞涓的条件开始入手,穷举和的可能,最大不超过200
    {
        // 其和能同时满足条件1和3者即为结果
        if (p1(n) && p3(n))
        {
            //找出对应解
            for (int t=2; t*2<n; t++)//这里可以用的是庞的条件,合数积或合数与素数之积t+=2;
            {
                if ( p2(t*(n-t)) ) //分拆结果符合条件2就输出
                    printf("%d %d\n", t, n-t);
            }
        }
    }
    puts("Finish");getchar();return 0;
    return 0;
}

[[it] 本帖最后由 sunkaidong 于 2008-6-12 23:36 编辑 [/it]]

[[it] 本帖最后由 sunkaidong 于 2008-6-12 23:47 编辑 [/it]]

学习需要安静。。海盗要重新来过。。
2008-06-12 23:04
快速回复:鬼谷子问徒
数据加载中...
 
   



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

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