新足迹

 找回密码
 注册

精华好帖回顾

· 知秋五叶 朝着月亮吼 --- 青花瓷 (2009-6-6) 知秋一叶 · 菲利普岛 及 其他 (2022-9-16) 胡须康
· 11.13心情日记——装修小记之四味 (2008-11-13) 猫球球 · 再战月饼--五仁,莲蓉,枣泥传统月饼 (2007-9-20) datou2z
Advertisement
Advertisement
查看: 2047|回复: 4

[NSW] 这道题除了硬凑,有巧办法吗 [复制链接]

发表于 2024-12-4 12:23 |显示全部楼层
此文章由 DDD888 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 DDD888 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 DDD888 于 2024-12-4 13:29 编辑

我写的rust language 命令行程序打印结果

用免费chatgpt生成框架程序https://chatgpt.com/share/674fbdef-9804-8009-8c53-8e973a55b0fe,再改一下,为时一分钟做好项目,运行结果0.82秒

https://play.rust-lang.org/?vers ... b1093827cb419cb864e

fn main() {
    for x in 1..10 {
        for y in 1..10 {
            for z in 1..10 {
                let xyz = 100 * x + 10 * y + z;
                let zxyy = 1000 * z + 100 * x + 10 * y + y;
                if xyz * 18 == zxyy {
                    if x != y && x != z && y != z {
                        println!("x: {}, y: {}, z: {}", x, y, z);
                    }
                }
            }
        }
    }
}
Advertisement
Advertisement

发表于 2024-12-4 12:31 |显示全部楼层
此文章由 DDD888 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 DDD888 所有!转贴必须注明作者、出处和本声明,并保持内容完整
DDD888 发表于 2024-12-4 13:23
我写的rust language 命令行程序打印结果

用免费chatgpt生成框架程序https://chatgpt.com/share/674fbdef- ...

这是稍微优化点的代码

fn main() {
    for x in 1..10 {
        for y in 1..10 {
            for z in 1..10 {
                if x != y && x != z && y != z {
                    let xyz = 100 * x + 10 * y + z;
                    let zxyy = 1000 * z + 100 * x + 10 * y + y;
                    if xyz * 18 == zxyy {
                        println!("x: {}, y: {}, z: {}", x, y, z);
                    }
                }
            }
        }
    }
}

发表于 2024-12-4 12:33 |显示全部楼层
此文章由 DDD888 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 DDD888 所有!转贴必须注明作者、出处和本声明,并保持内容完整
DDD888 发表于 2024-12-4 13:31
这是稍微优化点的代码

fn main() {

这是functional programming in rust

fn main() {
    (1..10)
        .flat_map(|x| {
            (1..10).flat_map(move |y| {
                (1..10).filter_map(move |z| {
                    if x != y && x != z && y != z {
                        let xyz = 100 * x + 10 * y + z;
                        let zxyy = 1000 * z + 100 * x + 10 * y + y;
                        if xyz * 18 == zxyy {
                            Some((x, y, z))
                        } else {
                            None
                        }
                    } else {
                        None
                    }
                })
            })
        })
        .for_each(|(x, y, z)| {
            println!("x: {}, y: {}, z: {}", x, y, z);
        });
}

发表于 2024-12-4 13:04 |显示全部楼层
此文章由 DDD888 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 DDD888 所有!转贴必须注明作者、出处和本声明,并保持内容完整
DDD888 发表于 2024-12-4 13:33
这是functional programming in rust

fn main() {

我问了chatgpt, 也是和我一样用了穷举法

https://chatgpt.com/share/674fc68c-8154-8009-8afd-d358a2db527a

发表于 2024-12-4 18:12 |显示全部楼层
此文章由 DDD888 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 DDD888 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 DDD888 于 2024-12-4 19:15 编辑
管閒事的路人 发表于 2024-12-4 18:59
還有待加強,1..10就錯了。


Why?

(i.e., integers from 1 to 9)

The outermost flat_map iterates over the numbers from 1 to 9 and assigns each value to x.


https://chatgpt.com/share/67500f65-78a0-8009-a6da-6038e2c04b85

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部