gpt4 book ai didi

ruby - 将所有偶数索引整数乘以二

转载 作者:太空宇宙 更新时间:2023-11-03 17:22:25 25 4
gpt4 key购买 nike

想要取固定数量的整数并将所有偶数(索引)整数乘以 2。我认为最好的方法是首先将 fixnum 变成一个数组。所以假设以下 16 位数字:a = 4408041234567901

我知道我可以:

a.to_s.split('')

这会将“a”返回到“字符串”数字数组。但后来我无法跟进:

a.map!.with_index {|i,n| i.even? n*2}

我想我有点卡在如何创建一个方法来执行此操作上。所以我的问题甚至可能是如何将那组数字变成固定数字/整数数组而不是字符串。

最佳答案

我更愿意从循环中完全删除条件,方法是创建一个 Enumerator,其中包含您要乘以的系数(偶数索引为 2,奇数索引为 1。)

coef = [2, 1].cycle

这实质上创建了一个 Enumerator,它在调用 next 时交替返回 21。然后,您可以使用它来简化您的 map 到:

a.to_s.each_char.map { |v| v.to_i * coef.next }

关于ruby - 将所有偶数索引整数乘以二,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29874242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com