| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8349 人关注过本帖, 1 人收藏
标题:解韩信点兵问题
只看楼主 加入收藏
beyond0702
Rank: 1
来 自: 桂 林
等 级:新手上路
帖 子:219
专家分:0
注 册:2007-11-17
收藏(1)
 问题点数:0 回复次数:40 
解韩信点兵问题
编程求解韩信点兵问题:先让5个人一组看余多少个,再8个人一组看余多少个,再12人一组看雨多少个。根据这3个余数就可以知道精确的人数。
搜索更多相关主题的帖子: 点兵 解韩信 余数 求解 
2008-04-24 12:21
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
中国剩余定理问题

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2008-04-24 12:35
beyond0702
Rank: 1
来 自: 桂 林
等 级:新手上路
帖 子:219
专家分:0
注 册:2007-11-17
收藏
得分:0 
这怎么求解啊??/
都不知道怎么去算,更不用说写出来了。。
2008-04-24 21:51
雨中飛燕
Rank: 1
等 级:新手上路
帖 子:765
专家分:0
注 册:2007-10-13
收藏
得分:0 
<120人才可以“精确”

" border="0" />[color=white]
2008-04-24 21:55
faminxmu
Rank: 3Rank: 3
来 自:厦门
等 级:论坛游侠
帖 子:191
专家分:106
注 册:2008-4-23
收藏
得分:0 
看看这个可以吗
#include<stdio.h>
#define X 2
#define Y 2
#define Z 9
void main()
{
     int i,j;
     for(i=0;;i++)
     if(i%5==X&&i%8==Y&&i%12==Z)/*我求的是能满足条件的最小的数*/
     { printf("%d\n",i);
     break;}
     system("pause");
     }

在虚拟的世界中寻找目标。
2008-04-24 22:53
beyond0702
Rank: 1
来 自: 桂 林
等 级:新手上路
帖 子:219
专家分:0
注 册:2007-11-17
收藏
得分:0 
楼上的 ,你去哪里弄来的2,2,9
万一 你的数字带进去不和呢
2008-04-24 23:31
Sun_DN
Rank: 1
来 自:NEU
等 级:新手上路
帖 子:48
专家分:0
注 册:2006-4-5
收藏
得分:0 
没有确定的余数
这样的问题没有确定的条件怎么求解?我编了一个程序,可以连续测试输入的余数,但很难找到合适的。


//韩信点兵
//用Dec-C++编译

#include<iostream>
#include<stdlib.h>

using std::cin;
using std::cout;
using std::endl;

void HanXin(int ret1,int ret2,int ret3,long FanWei);
//输入三个余数和搜索范围

int main()
{
    int r1,r2,r3;
    long FWei;
    int choice=1;
   
    while(choice==1)
    {
     cout<<"请依次输入三个余数和搜索范围:"<<endl;
     cin>>r1>>r2>>r3>>FWei;
     HanXin(r1,r2,r3,FWei);
     cout<<"\n"<<"1 继续,其余任意键推出:"<<endl;
     cin>>choice;
    }
   
    system("pause");
    return 0;
}

void HanXin(int ret1,int ret2,int ret3,long FanWei)
{
     long i;
     int flag=0;
     long Soider_Num=0;
     for(i=0;i<FanWei;i++)
     {
     if(i> 12 && i%5==ret1 && i%8==ret2 && i%12==ret3)
      {
        Soider_Num=i;
        flag=1;
        break;
      }
     }
     if(flag==1)
         {
          cout<<"韩信的兵力为:"<<Soider_Num<<endl;   
          flag=0;
         }
     else
         cout<<"搜索失败!"<<endl;
}

[[it] 本帖最后由 Sun_DN 于 2008-4-25 17:28 编辑 [/it]]
2008-04-25 14:46
雨中飛燕
Rank: 1
等 级:新手上路
帖 子:765
专家分:0
注 册:2007-10-13
收藏
得分:0 
你貌似还不清楚搜索上限是固定的

" border="0" />[color=white]
2008-04-25 14:55
qspy
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-4-25
收藏
得分:0 
5、8、12并没有全部互为质数,可以用剩余定理算出来吗?
2008-04-25 16:37
雨中飛燕
Rank: 1
等 级:新手上路
帖 子:765
专家分:0
注 册:2007-10-13
收藏
得分:0 
当然可以,用5,8,3来计算,计算出来再验证结果的有效性

" border="0" />[color=white]
2008-04-25 16:41
快速回复:解韩信点兵问题
数据加载中...
 
   



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

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