问题: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的值的更多相关文章

  1. In-Memory:内存数据库

    在逝去的2016后半年,由于项目需要支持数据的快速更新和多用户的高并发负载,我试水SQL Server 2016的In-Memory OLTP,创建内存数据库实现项目的负载需求,现在项目接近尾声,系统 ...

  2. 【.net 深呼吸】细说CodeDom(8):分支与循环

    有人会问,为啥 CodeDom 不会生成 switch 语句,为啥没生成 while 语句之类.要注意,CodeDom只关心代码逻辑,而不是语法,语法是给写代码的人用的.如果用.net的“反编译”工具 ...

  3. .net点选验证码实现思路分享

    哈哈好久没冒泡了,最进看见点选验证码有点意思,所以想自己写一个. 先上效果图 如果你被这个效果吸引了就请继续看下去. 贴代码前先说点思路: 1.要有一个汉字库,并按字形分类.(我在数据库里是安部首分类 ...

  4. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  5. H5实现摇一摇技术总结

    摇一摇遇到的问题 一.如何对摇晃效果进行反馈 刚开始的处理方式是,摇晃过程中不做任何处理,但后来反馈说这种效果不好,好像就没有摇动一样,如果声音也不响的话,就真的和什么都没发生一样. 后来想了想,加入 ...

  6. Fis3前端工程化之项目实战

    Fis3项目 项目目录结构: E:. │ .gitignore │ fis-conf.js │ index.html │ package.json │ README.md │ ├─material │ ...

  7. 【AR实验室】mulberryAR : ORBSLAM2+VVSION

    本文转载请注明出处 —— polobymulberry-博客园 0x00 - 前言 mulberryAR是我业余时间弄的一个AR引擎,目前主要支持单目视觉SLAM+3D渲染,并且支持iOS端,但是该引 ...

  8. Unity3d学习 相机的跟随

    最近在写关于相机跟随的逻辑,其实最早接触相机跟随是在Unity官网的一个叫Roll-a-ball tutorial上,其中简单的涉及了关于相机如何跟随物体的移动而移动,如下代码: using Unit ...

  9. Vue.js 和 MVVM 小细节

    MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...

  10. ASP.NET Core 之 Identity 入门(一)

    前言 在 ASP.NET Core 中,仍然沿用了 ASP.NET里面的 Identity 组件库,负责对用户的身份进行认证,总体来说的话,没有MVC 5 里面那么复杂,因为在MVC 5里面引入了OW ...

随机推荐

  1. CString,string,char数组的转换

    来源:http://ticktick.blog.51cto.com/823160/317550 //----------------ANSI字符串转换为UNICODE字符串-------------- ...

  2. C#-宽带连接

    public static string Connect(string UserS,string PwdS) { string arg = @"rasdial.exe 宽带连接" ...

  3. 分享一个PHP登录小妙招

    待完善 思想参照fastadmin api 文件路径 /fastadmin/application/common/library/Auth.php->login().logout().isLog ...

  4. CDN 加速配置

    1 https://cloud.tencent.com/document/product/228/3149 2 https://cloud.tencent.com/document/product/4 ...

  5. Servlet三大域对象

    Servlet三大域对象的应用 request.session.application(ServletContext) ServletContext是一个全局的储存信息的空间,服务器开始就存在,服务器 ...

  6. MySQL分区表最佳实践

    前言: 分区是一种表的设计模式,通俗地讲表分区是将一大表,根据条件分割成若干个小表.但是对于应用程序来讲,分区的表和没有分区的表是一样的.换句话来讲,分区对于应用是透明的,只是数据库对于数据的重新整理 ...

  7. 33.2.NIO

    4.1概述[理解] BIO Blocking IO,阻塞型IO NIO No Blocking IO,非阻塞型IO 阻塞IO的弊端 在等待的过程中,什么事也做不了 非阻塞IO的好处 不需要一直等待,当 ...

  8. ruby基础(二)

    ruby语法基础 1.方法 方法时对象定义的与该对象相关的操作.在Ruby中,对象的所有的操作都被封装成 方法. 语法糖:语法糖是一种为了照顾一般人的习惯而产生的特殊语法. ruby中一切数据都是对象 ...

  9. centos8.2-2004

    ~]# cat /etc/*leaseCentOS Linux release 8.2.2004 (Core)NAME="CentOS Linux"VERSION="8 ...

  10. Linux下Shell实现服务器IP监测

    实验室有一个服务器放在机房,装的是Ubuntu Server,IP为自动分配,因此一旦IP有变化就无法远程操作,必须去机房记录新的IP.学了几天Shell之后想,是不是可以定时检测其IP的变化,一旦有 ...