最近,看书看到这个算法。很有意思。

算法来源:

话说有一次韩信带兵,人数在百人左右,然后它就那些士兵排队,3个人一行排的时候多了一个人,7个人一列排的时候少2个人,5个人排的时候刚刚好。

刚开始碰到到这道题的时候,不过后来突然想到了一个函数,问题就比较好解决了。

在解决这个问题之前,请大家看一个方法:Math.DivRem()

DivRem(int a,int b,int out result):它的意思是说,输入2个整数,然后输出它们的余数。

到这里,想到了那个方法,韩信点兵的算法的根源就是余数问题:

static int HanXinAlgorithm()

{

int num1 = 0;

int num2 = 0;

int num3 = 0;

int result = 0;

for (int i = 0; i < 100; i++)

{

Math.DivRem(i, 3, out num1);

Math.DivRem(i, 5, out num2);

Math.DivRem(i, 7, out num3);

if (num1 == 1 && num2 == 0 && num3 == 5)

result = i;

}

return result;

}

得到的结果就是:

希望对你们有帮助。

韩信点兵python算法_韩信点兵算法相关推荐

  1. 韩信点兵python程序_韩信点兵计算公式与代码

    韩信点兵计算公式与代码 问题描述: 淮安民间传说着一则故事--"韩信点兵",其次有成语"韩信点兵,多多益善". 韩信带1500名兵士打仗,战死四五百人,站3人一 ...

  2. python 傅里叶变换_理解快速傅里叶变换算法

    翻译自原文:https://jakevdp.github.io/blog/2013/08/28/understanding-the-fft/ ​ 快速傅里叶变换(FFT)是信号处理和数据分析中最重要的 ...

  3. 社区发现算法python视频_社区发现FN算法Python实现

    社区发现FN算法Python实现 算法原理 评价指标 结果对比 源码 ​2004年,Newman在GN(Girvan and Newman, 2002)算法的基础上,提出了另外一种快速检测社区的算法, ...

  4. 差分进化算法python 指派问题_多目标优化算法

    本书实用性强,摒弃工具书中难懂的理论讲解,通过使用具体数值实例进行浅显易懂的讲解,保证大学低年级学生凭借现有的数学基础知识也可以完全理解书中介绍的网络数学模型和遗传算法的解法.书中丰富的数值实例能够加 ...

  5. python求自然对数_计算自然对数的算法

    引言 我们知道,对数函数 ln(x) 可以展开为泰勒级数: 但是下面这个泰勒级数展开式收敛得更快: 经过简单计算可知上式中 y = (x - 1) / (x + 1) . 实现该算法的 C# 程序 根 ...

  6. kmeans算法_实战 | KMeans 聚类算法

    1. 写在前面 如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的,常见的机器学习算法: 监督学习算法:逻辑回归,线性回归,决策树,朴素贝叶斯,K近邻,支持向量机,集成算法Ad ...

  7. java opencv磨皮算法_美肤磨皮算法OpenCV3实现

    参考一个大神的美肤公式: Dest =(Src * (100 - Opacity) + (Src + 2 * GuassBlur(EPFFilter(Src) - Src + 128) - 256) ...

  8. 人工智能算法_人工智能的灵魂——算法

    人工智能有三驾马车:数据.算法.算力.本文重点介绍算法相关的知识. 本文将介绍算法在人工智能里的概念,算法的4个特征.6个通用方法.以及在选择算法时需要注意的3个点. 什么是算法? 简单的说,算法就是 ...

  9. hash算法_数据库中间件分片算法之hash

    前言 夜深人静的时候,打开云音乐,点上一曲攀登,带上真无线蓝牙耳机,瞬间燃到爆,键盘打字如飞倦意全无. 分片规则 这几天有人问我,dble和MyCat到底有什么不同.其实dble作为MyCAT的同门, ...

  10. java 哈希一致算法_一致哈希算法Java实现

    一致哈希算法(Consistent Hashing Algorithms)是一个分布式系统中常用的算法.传统的Hash算法当槽位(Slot)增减时,面临所有数据重新部署的问题,而一致哈希算法确可以保证 ...

最新文章

  1. (C++)归并排序的递归与非递归实现
  2. 贝尔实验室:如何让6G成为通用技术
  3. 美观实用 最新《生化危机》主题人体工学游戏椅公开
  4. linux mysql设置编码_linux下修改mysql编码
  5. 798. 差分矩阵 (二维差分)
  6. Nature、Science、Cell全加入!80家学术机构新冠研究全部免费
  7. SQL Server外连接、内连接、交叉连接
  8. 掏出来的“耳屎经济”
  9. 忽略git项目上的任何#39;bin#39;目录
  10. js无限分级 树_js实现无限级树形导航列表效果代码
  11. 典型环节的电路模拟MATLAB,典型环节的模拟及参数测试
  12. 130个实用网站集合
  13. RS编译码理论介绍与MATLAB性能仿真
  14. C#输入分数自动成绩评级
  15. 计算机工作组环境和域环境的区别
  16. linux 使用设备树点亮LED 实战
  17. 【Android】通过命令行adb install 将apk下载到手机之中
  18. java批量生成pdf
  19. rxtx java 错误
  20. Python数据分析系列之——王一博微博转发量分析

热门文章

  1. React Native中的视频编码
  2. 阿里中间件技术专家魏鹏:基于Java容器的多应用部署技术实践
  3. KMplayer保存上次播放位置
  4. 全方面讲解OpenWrt的DNS配置与DHCP,并介绍dnsmasq DNS缓存工具、nslookup/dig DNS测试工具
  5. uni-app小程序 真机显示canvas上利用base64图片生成的海报
  6. 计算机本地网络给手机使用吗,手机网络也能共享给电脑(台式or笔记本)使用吗?...
  7. 文本表示(Representation)
  8. Ansible事实变量常见fact
  9. 用计算机程序方式打开,怎么使用运行命令符打开电脑程序
  10. 请详细说下你对 vue 生命周期的理解?