刷题目的时候遇到一道填空压轴题……

题目

$1000a+100b^2+10c^3+d^4=2021,求abcd=?$(绝对值均小于5)

解决

想了很久,尝试了一下C++行不通,最后用Rust得出其中一个解(共两个解):

fn main() {
    let mut ans: [i32; 4]=[0,0,0,0];
    for a in -4..5 {
        for b in -4..5 {
            for c in -4..5 {
                for d in -4..5 {
                    if 1000*a+100*b*b+10*c*c*c+d*d*d*d==2021 {
                        ans[0]=a;ans[1]=b;ans[2]=c;ans[3]=d;
                    }
                }
            }
        }
    }
    for a in 0..5 {
        print!("{} ",ans[a]);
    }
}

结果

2 1 -2 1

直接用暴力破解的方法,没想到挺管用,但似乎会引起panic?根据结果可以得出$abcd=4$,搜题正确答案为$\pm 4$。

image