俄罗斯农民繁殖

俄罗斯农民繁殖,第1张

俄罗斯农民繁殖

可以通过添加空格,适当的缩进和适当的函数体来改进它:

int peasant_mult (int a, int b) {  for (p = 0;       p += (a & 1) * b, a != 1;       a /= 2, b *= 2);  return p;}

看到?现在很清楚如何

for
使用声明的三个部分。请记住,程序主要是为人眼编写的。不可读的代码始终是错误的代码。

现在,为了个人娱乐,我使用了尾递归版本:

(defun peasant-mult(ab&optional(sum 0))  “返回a和b的乘积,   通过农民的繁殖来实现。”  (如果(= a 1)      (+ b总和)      (农mul(地板(/ a 2))         (* b 2)         (+和(* b(对数a 1))))))


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4953065.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-13
下一篇2022-11-13

发表评论

登录后才能评论

评论列表(0条)

    保存