一筐雞蛋,
一個一個取正好取完,
兩個兩個取剩下一個,
三個三個取正好取完,
四個四個取剩下一個,
五個五個取少一個,
六個六個取剩下三個,
七個七個取正好取完,
八個八個取剩下一個,
九個九個取正好取完,
共多少雞蛋。 javascript
第五個條件特殊,能夠改成:
五個五個取剩四個。java
lcm(a,b,...,c)=x 最小公約數
x mod y = z 餘數 shell
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
1 no use;code
step 1ip
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 3io
1),3)
min(x)=9 lcm(8,5)=40console
2),4)
min(x)=63 lcm(6,63)=126class
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)} }