问题: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

最新文章

  1. HTML5 摇一摇加强版之一次失败的探索
  2. 【WPF】整个自定义按钮后台添加
  3. HTML5 &lt;input&gt;添加多张图片,可点击弹窗放大。限定4张,可删除。
  4. asp.net解决高并发的方案.[转]
  5. salesforce 零基础开发入门学习(六)简单的数据增删改查页面的构建
  6. Mysql和Oracle数据库concat()函数
  7. 【CodeForces 616D】Longest k-Good Segment
  8. codevs 1204 寻找子串位置
  9. 如何写好CSS?(OOCSS\DRY\SMACSS)
  10. 【C++基础】sizeof 与 strlen的区别
  11. 数据结构(动态树):UOJ 207 共价大爷游长沙
  12. 返璞归真 asp.net mvc (9) - asp.net mvc 3.0 新特性之 View(Razor)
  13. 详解m4文件
  14. mybatis-spring最新版下载地址
  15. [TCP/IP] 数据链路层-ethereal 抓包分析数据帧
  16. python 的__init__ 和__new__ 区别
  17. 将Oracle 12c的某用户数据迁移至OracleXE的用户
  18. CSDN 博客 美化 个性化
  19. photoshop 笔记
  20. UVa 1590 IP网络(简单位运算)

热门文章

  1. hdu1815 2sat + 二分 + 建图
  2. Win64 驱动内核编程-34.对抗与枚举MiniFilter
  3. WDK 标准数据类型
  4. 【技巧】使用xshell和xftp连接centos连接配置
  5. Spring核心结构及核心思想
  6. 『居善地』接口测试 — 5、使用Requests库发送POST请求
  7. 测试报告$\alpha$
  8. 【转】java-selenium三种等待方式
  9. 登陆框select绕过
  10. 解决 Ubuntu 无法使用 root 用户进行 ssh 远程登陆