http://acm.nyist.net/JudgeOnline/problem.php?pid=34提交地址

韩信点兵-中国剩余定理。

题目能够用枚举非常easy的做出来,在这里写是为了运用一下刚刚学习的中国剩余定理。

曾经写过中国剩余定理的博客在这就不多说了。

假设以下的字母看不懂请看我的还有一篇博客http://blog.csdn.net/u010123208/article/details/24314627

说一说思路吧。

1.首先我们要用数组存储我们的要的除数。和余数。

我们用m[]来存储,余数我们用a[]来存储。

2.接下来我们要计算M了 ,然后是mi mi的值我用mm[]来存储的。

3.如今基本的任我就是计算mi的逆元了。

计算逆元我们当然要用扩展欧几里得定理了。注意在用扩展欧几里得定理的时候我们会遇到这种问题,返回的结果是个负数。举个样例就是 m1的逆元  mm[1]x + m[1]y = 1;返回x=-1,y=12,这个但是这不是我们想要的数值。我们能够用m[1]+x = 2; mm[1]-y=23;(这个结论是我在群里问他们,他们说自己计算一下。详细的也没说。我就突然想到这样来计算试试,结果真行。我又试了几个,也行,这详细如何我也不知道。希望有看到博客对扩展欧几里得定理比較清楚的给我留下言,我请教一下。在这谢谢了)。

4 我们须要的东西都已经求出来了。我们就能够计算结果了。(假设不知道请看我的还有一篇博客中介绍的)

以下贴出代码,代码仅仅是为了练习而已,对于上面的题目而言,提交肯定会错的,由于。。

。可是仅仅对于我们的中国剩余定理来时是正确的。

#include<iostream>
using namespace std;
int  exgcd(int  i,int  j,int  &ansx,int  &ansy)  //扩展欧几里得定理
{  int  d = i;  if(j==0)  {  ansx=1;  ansy=0;  return d;  }  d=exgcd(j,i%j,ansx,ansy);  int  temp = ansx;  ansx=ansy;  ansy=temp-(i/j)*ansy;  return d;
}
int main()
{int a[4];//余数for(int i=1;i<4;i++)cin>>a[i];int m[4]={0,3,5,7};//取模的数  质数int mm[4]={0,35,21,15};int t[4];//逆元for(int i=1;i<4;i++){int x,y;exgcd(mm[i],m[i],x,y);if(x<0)x=m[i]+x;t[i]=x;}int sum=0;for(int i=1;i<4;i++){sum=sum+t[i]*a[i]*mm[i];}cout<<sum%105<<endl;system("pause");
}

好了!

感谢自己坚持。

转载于:https://www.cnblogs.com/mengfanrong/p/5186838.html

韩信点兵-中国剩余定理(练习)相关推荐

  1. 中国剩余定理(Chinese Remainder Theorem)

    中国剩余定理 民间传说着一则故事--"韩信点兵". 秦朝末年,楚汉相争.一次,韩信将1500名将士与楚王大将李锋交战.苦战一场,楚军不敌,败退回营,汉军也死伤四五百人,于是韩信整顿 ...

  2. 为什么计算机的编码那么多,为什么中国剩余定理可用于计算机编码?

    我们已经知道了"中国剩余定理",即"韩信点兵"问题,它是中国古代数学中的一项重大成就,其内容属于数论中的一次同余数组的解法.而这一古老的知识,现在在计算机编码方 ...

  3. 【一级讲解】韩信点兵——中国剩余定理

    韩信点兵 相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排.五人一排.七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了.输入3个非负整数a,b,c ,表示每种队形排尾 ...

  4. 三人同行七十稀 - 中国剩余定理浅析

    我国明朝有位大数学家叫程大位,他在解答"物不知其数"问题(即:今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩2,问物几何?)用四句诗概括这类问题的解决: "三人同 ...

  5. 韩信点兵 中国剩余定理

    1077 韩信点兵 时间限制:500MS  内存限制:65536K 提交次数:1103 通过次数:99 题型: 编程题   语言: G++;GCC Description 相传汉高祖刘邦问大将军韩信统 ...

  6. 数论 · 中国剩余定理(CRT)

    UPDATE 2021 - 12 - 10:补充扩展中国剩余定理 EXCRT,额外开了一篇博客写. 2021 - 12 - 21:修改了一两句话,更严谨一些. 问题概述 小奥里的韩信点兵问题: { x ...

  7. 数论-中国剩余定理(crt) 与拓展中国剩余定理(excrt)

    中国剩余定理(crt) [用途] 求方程组中最小的非负整数解X X ≡ { a 1 ( m o d m 1 ) a 2 ( m o d m 2 ) . . . a n ( m o d m n ) X\ ...

  8. 小议中国剩余定理兼怀金庸

    本是几个月前整理完备hash构造时打算写的,不意拖到了金庸先生去世.<射雕英雄传>中那一次精彩绝伦的数学启蒙,不亚于光明顶上张无忌出尽风头的擂台秀.瑛姑与黄蓉的几轮口头交锋,涵盖了n阶幻方 ...

  9. 从韩信点兵和勾股弦说起—— 漫谈基础数学的古今中外

    从韩信点兵和勾股弦说起-- 漫谈基础数学的古今中外 前言 基础数学的范畴,大体上也就是现代中学和大一数学课程中所要学的代数.几何与分析的基础知识:它不但是数学的根本,也是整个科技发展的基础,可以说是人 ...

最新文章

  1. seajs的CMD模式的优势以及使用
  2. 51 nod 1624 取余最长路 思路:前缀和 + STL(set)二分查找
  3. OpenSSL再曝CCS注入漏洞-心伤未愈又成筛子
  4. react改变checkbox的文字类型_React Checkbox不发送onChange
  5. 开课吧Web:学习Web前端技术有哪些好处?
  6. java中的saturn_Saturn分布式调度平台系列:高屋建瓴之设计原理简析
  7. 寻找与黄金分割点最近的商
  8. 基于SSM的概念可视化程序设计学习系统毕业设计源码021009
  9. 微信开发者工具 缓存目录
  10. Kotlin 之 lateinit关键字 与lazy
  11. 安得广厦千万间,大赚天下寒士俱欢颜
  12. linux删除指定的行
  13. 人工智能技术在教育领域中的应用
  14. [事件知识图谱] EventKG: A Multilingual Event-Centric Temporal Knowledge Graph
  15. 基于深度学习算法的语音识别(华为云)
  16. Linux Watchdog/看门狗
  17. JavaScript 进阶知识 - Ajax篇
  18. 格式工厂 wav 比特率_DRmare Audio Converter——音频格式转换工具
  19. webots自学笔记(九)弹簧与阻尼添加
  20. Ae501 100+图形拼接马赛克过渡效果图像幻灯片工具包含垂直竖屏版ae模板

热门文章

  1. 一篇文章讲清楚人工智能、机器学习和深度学习的区别和联系
  2. 渲染到ui_虚幻4渲染编程(UI篇)【第二卷:程序化UI特效-[1]】
  3. js svg语音波动动画_SVG实现环形进度条的原理
  4. mysql中以下正确的sql是_总结MySQL中SQL语法的使用
  5. 014_insert into select语句
  6. 008_Gson从序列化中排除字段
  7. c语言的非法字符常量,判断C语言数值常量是否合法?为什么不合法?
  8. html 背景设为透明背景图片,Three.js中通过透明渲染设置默认背景图片
  9. 需求分析的过程是什么?_7大需求分析方法与5大分析过程
  10. python3模块socket怎么安装_Python中socket模块的使用方法(一)