zoukankan      html  css  js  c++  java
  • 一筐鸡蛋的lcm

    问题

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

    数学解法

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

    数学符号

    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)}
    }
    
  • 相关阅读:
    nginx 转发配置
    Rancher中httpd证书的管理和使用
    JDK-docker
    软路由
    rancher相关
    rancher部署
    电商 好文 知识积累
    SpringBlade 接口文档 请求token接口报错
    SpringBlade 接口文档 无法访问
    电商 好文
  • 原文地址:https://www.cnblogs.com/errorx/p/6381598.html
Copyright © 2011-2022 走看看