码迷,mamicode.com
首页 > 其他好文 > 详细

A,B,C,D分别为不同的整数,满足以下乘法公式,求A,B,C,D的值

时间:2021-04-15 12:10:20      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:步骤   loading   代码   alt   com   整数   OLE   info   a*   

问题:A,B,C,D分别为不同的整数,满足以下乘法公式,求A,B,C,D的值

技术图片

 

解题思路:

  由题意可知A,B,C,D为不同的整数,则A!=B,A!=C,A!=D,B!=C,B!=D,C!=D

再由给出公式的解题步骤可知A,B,C,D其中一位数是0,则C=0,因公式中给出的9可得出A=3,也因此限制了这个四位数的千位是3;

再看解题步骤可知第一行代表:D*ABCD,第二行代表:B*ABCD,第三行代表:A*ABCD,因都是四位数,以此为限制条件。

最后看结果数为八位数,说明9往前进了一位也表明第二行的千位数+第三行的百位数>10.

综上述条件分析为条件下面使用使用Node.js代码实现:

let count=3999     //因条件限制千位为3,则从3999开始
let a,b,c,d,e,f,fx,ex
for(let num=3000;num<count;num++){
    d=num/1%10;                            //d表示num的个位数
    c=parseInt(num/10%10);          //c表示num的十位数
    b=parseInt(num/100%10);        //b表示num的百位数
    a=parseInt(num/1000%10);    //a表示num的千位数
    
    e=a*num      //e表示解题步骤第行的值
    f=b*num    //f表示解题步骤第二行的值
    g=d*num   //g表示解题步骤第一行的值
    if(g.toString().length==4&&f.toString().length==4&&e.toString().length==4){
        fx=parseInt(f/1000%10);   //fx表示解题步骤的第二行的千位数
        let x=parseInt(e/1000%10);//e表示解题步骤的第三行的千位数9
        ex=parseInt(e/100%10);//ex表示解题步骤的第三行的百位数
        if(x==9){
            if(a!=b&&a!=c&&a!=d&&b!=c&&b!=d&&c!=d&&c==0){
                console.log(a=>+a+ b=>+b+ c=>+c+ d=>+d)
            }
            
        }
    }
}
console.log(done)                        

最后输出为:

PS D:\NodePack\Node_base\nodejsStudo> node .\zushu.js
a=>3 b=>2 c=>0 d=>1
done
PS D:\NodePack\Node_base\nodejsStudo> 

因此:A=3;B=2;C=0;D=1

A,B,C,D分别为不同的整数,满足以下乘法公式,求A,B,C,D的值

标签:步骤   loading   代码   alt   com   整数   OLE   info   a*   

原文地址:https://www.cnblogs.com/Jack-Cheng008/p/14658351.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!