首页 > 试题广场 >

六位数

[编程题]六位数
  • 热度指数:2815 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解

小团想要编写一个程序,希望可以统计在MN之间(M<N,且包含MN)有多少个六位数ABCDEF满足以下要求:

(1) ABCDEF这六个数字均不相同,即ABCDEF表示六个不同的数字。

(2) AB+CD=EF。即将这个六位数拆成三个两位数,使得第1个和第2个两位数的和等于第3个两位数。


数据范围:
进阶:时间复杂度,空间复杂度

输入描述:

单组输入。

输入两个六位正整数M和N(M



输出描述:

输出在M到N之间(包含M和N)满足要求的六位数的个数。

示例1

输入

100000 110000

输出

0
js暴力求解
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)


发表于 2022-09-20 10:07:10 回复(0)