一筐鸡蛋的lcm

时间:2022-07-21 06:51:13

问题

一筐鸡蛋,
一个一个取正好取完,
两个两个取剩下一个,
三个三个取正好取完,
四个四个取剩下一个,
五个五个取少一个,
六个六个取剩下三个,
七个七个取正好取完,
八个八个取剩下一个,
九个九个取正好取完,
共多少鸡蛋。

数学解法

第五个条件特殊,可以改为:
五个五个取剩四个。

数学符号

lcm(a,b,...,c)=x 最小公约数
x mod y = z 余数

数学描述

x mod 1 = 0
x mod 2 = 1
x mod 3 = 0
x mod 4 = 1
x mod 5 = 4
x mod 6 = 3
x mod 7 = 0
x mod 8 = 1
x mod 9 = 0

Solution

1 no use;

step 1

1) x mod lcm(2,4,8) = 1
2) x mod lcm(3,7,9) = 0
3) x mod 5 = 4
4) x mod 6 = 3

step 2

1) x mod  8 = 1
2) x mod 63 = 0
3) x mod 5 = 4
4) x mod 6 = 3

step 3

1),3)
min(x)=9
lcm(8,5)=40

2),4)
min(x)=63
lcm(6,63)=126

1) x mod 40  = 9
2) x mod 126 = 63

step 4

let
x = 40 * m + 9
x = 126 * n + 63 40 * m + 9 - (126 * n + 63) = 0 ==> 40m - 126n = 54 if m=4 n=1
160-126=34 if m=4*4 n=4+1
4(160-126)-126=10 => if m=2*4*4+4,n=2*(4+1)+1
40m - 126n = 10*2+34 = 54 => n = 11; min(x)=126*11+63=1449 => x mod min(lcm(40,126)>1449) = 1449 min(lcm(40,126)>1449)=1260*2=2520 ==> x=n*2520+1449

程序

for(var i=1;i<99999;i++){
if(i%2==1&&i%3==0&&i%4==1&&i%5==4&&i%6==3&&i%7==0&&i%8==1&&i%9==0){console.log(i)}
}