小团想要编写一个程序,希望可以统计在M和N之间(M<N,且包含M和N)有多少个六位数ABCDEF满足以下要求:
(1) ABCDEF这六个数字均不相同,即A、B、C、D、E和F表示六个不同的数字。
(2) AB+CD=EF。即将这个六位数拆成三个两位数,使得第1个和第2个两位数的和等于第3个两位数。
数据范围:
进阶:时间复杂度,空间复杂度
小团想要编写一个程序,希望可以统计在M和N之间(M<N,且包含M和N)有多少个六位数ABCDEF满足以下要求:
(1) ABCDEF这六个数字均不相同,即A、B、C、D、E和F表示六个不同的数字。
(2) AB+CD=EF。即将这个六位数拆成三个两位数,使得第1个和第2个两位数的和等于第3个两位数。
单组输入。
输入两个六位正整数M和N(M
输出在M到N之间(包含M和N)满足要求的六位数的个数。
100000 110000
0
const [n,m]=readline().split(' ').map(Number) let count=0 for(let i=n;i<=m;i++){ let a = i%10; let b = parseInt(i/10)%10; let c = parseInt(i/100)%10; let d = parseInt(i/1000)%10; let e = parseInt(i/10000)%10; let f = parseInt(i/100000); if(a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&b!=c&&b!=d&&b!=e&&b!=f&&c!=d&&c!=e&&c!=f&&d!=e&&d!=f&&e!=f){ let s=b+''+a let t=d+''+c let p=f+''+e if(parseInt(t)+parseInt(p)==parseInt(s)){ count++ } } } console.log(count)