产品展示

  • Home
  • 韩信点兵是如何计算的?您知道口诀吗?(欧几里德几何学公式是什么?)

韩信点兵是如何计算的?您知道口诀吗?(欧几里德几何学公式是什么?)

2024-01-04 17:51:48 180

1.韩信的点兵是怎么算出来的?你知道公式吗?

相传韩信聪明绝顶,从来不直接统计自己军队的数量。他只是让士兵们三个一排、五个一排、七个一排地改变队形,他每次只扫一眼队列的末尾就知道总数了。输入三个非负整数a、b和c,表示每个队列末尾的人数(a

万向

投入

输入三个非负整数a、b和c,表示每个队列末尾的人数(a

输出

输出总人数的最小值(或报无解,即输出Noanswer)。示例,输出:89

样本值输入

2 1 6

抽样输出

韩信点兵是如何计算的?您知道口诀吗?(欧几里德几何学公式是什么?)

41

定理1如果A除以N得到的余数等于B除以N得到的余数,C除以N得到的余数等于D除以N得到的余数,那么ac除以N得到的余数等于B除以N得到的余数..

同余叙述是:

如a≡b(mod n),c≡d(mod n)

那么ac≡b d(mod n)

定理2用除数A除以除数B的倍数,余数R不变。也就是

如果a ≡ r(模b),那么a b n ≡ r(模b)

比如70≡1(mod 3)可以得到70 10× 3 ≡ 1 (mod 3)。

【韩信点兵法原理】

①能被5和7整除的总数是35k,其中k=2,即70被3整除是1,70a被3整除是a..

②能被3,7整除的总数是21k,其中k=1,即21除以5正好是1,21b除以5正好是b..

③能被3和5整除的总数是15k,其中k=1,即15除以7正好是1,15c除以7正好是c..

所以

根据①可以看出,70a+21b+15c除以3正好是a。

根据②,70a+21b+15c除以5,正好是B..

根据③可以看出,70a+21b+15c正好是C除以7的余数。

(70a+21b+15c)%(3*5*7)为最小值,然后判断最小值是否满足条件。

复制代码

1 #包含& lt标准视频

2

3 int main(){

4 int a;

5 int b;

6 int c;

7 int结果;

9 scanf(%d%d%d,& amp一,& ampb & amp;c);

10结果=(70 * a+21 * b+15 * c)%(3 * 5 * 7);

11

12 if(结果= 10 & amp& amp结果& lt=100)

13 printf(%d\,result);

14

其他15个

16 printf(无答案\);

17

18返回0;

19 }

其实,早在《孙子兵法》的计算中,就有类似的问题:

我不知道今天的事情有多少。事物的几何是什么?

“韩信点兵”的表述是:每三个士兵站成一排,然后多出来两个人;每五个士兵站成一排,多出来三个人;每七个士兵站成一排,多出来两个人。那么总共有多少士兵呢?

你可以发现这两个问题的相似之处。这是《韩信的士兵》题通常的题目结构,属于数学中初等数论的“解同余”题。

2.欧几里德的几何公式是什么?

欧几里德算法,也称为轮流除法,用于计算两个整数A和B的最大公约数..它的计算原理依赖于以下定理:定理:gcd(a,b) = gcd(b,a mod b)证明A可以表示为a = kb+r,那么r = a mod b设D是A和B的公约数,那么有d|a,d|b,r = a-kb,所以D |。a mod b)的公约数是d | b,d |r,但a = kb +r,所以d也是(a,b)的公约数。所以(a,b)和(b,a mod b)的公约数相同,它的最大公约数一定相等。事实证明。

发表评论