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