手机版

百科生活 投稿

倍增是什么意思,什么是倍增模式(如何用lisp正确写出“倍增”函数)

百科 2026-02-15 07:10:44 投稿 阅读:4849次

关于【倍增是什么意思】:什么是倍增模式,今天小编给您分享一下,如果对您有所帮助别忘了关注本站哦。

  • 内容导航:
  • 1、倍增是什么意思:什么是倍增模式
  • 2、如何用lisp正确写出“倍增”函数?

1、倍增是什么意思:什么是倍增模式

  倍增模式也称作市场倍增学,又叫几何倍增学,应用几何基数的原理,通过一传十,十传百,百传万,万传亿的方式,经过几代传递后,就能达到很大范围的影响。

  市场直销就是应用了市场增倍学原理,从而达到其他营销方式所无法匹敌的威力。增倍学是世界文化宝库中的一颗魁宝,它广泛运用于社会各个阶层的管理。

2、如何用lisp正确写出“倍增”函数?

倍增是什么意思,什么是倍增模式(如何用lisp正确写出“倍增”函数)

网友的lisp代码

遗憾的是,因为价格没谈拢,最终没能帮到他。

函数功能分析

从他这个代码来看,很显然,是要求实现2个功能:

  1. 找出奇数
  2. 将奇数乘以2,也就是翻倍、倍增

应该说,功能是比较简单的,从我在闲鱼上帮人写代码的经验来看,属于大学cs专业的入门级难度。

可惜的是,这哥们似乎完全没入门。

现有代码为啥跑不动?

这样一个简单的函数,能写成这样,肯定是跑不动的,因为

  1. 调用函数的时候,函数名写错了。定义的是odd-doulber,调用的则是odd-doubler。
  2. 函数定义错误。lisp用defun定义函数,defun之后即为函数名,函数名之后的list中元素为函数形参, 在这个list前加上 ' 就大错特错了。
  3. ' 是quote的别名,二者的含义和作用是相同的,都代表对后续list或symbol的引用,不执行eval操作。

连函数都不知道怎么写,这不是没入门又是什么呢?

倍增函数的源代码

某些lisp实现,比如emacs lisp,没有内置oddp函数,这时候,需要自己写一个oddp函数, 我的oddp函数源代码如下:

(defun oddp (x) (= 1 (abs (rem x 2.0))))

当然,如果interpreter已经实现了oddp,就不必造轮子了。

有了oddp,就可以通过oddp找到奇数,然后直接乘以2即可。对于lisper来说,递归是母胎技能,所以, 这里给出的实现自然也是用递归写的。

(defun odd-doubler (lst) (cond ((null lst) '()) ((oddp (car lst)) (cons (* 2 (car lst)) (odd-doubler (cdr lst)))) (t (cons (car lst) (odd-doubler (cdr lst))))))

这就是我的odd-doubler函数源代码。如果用scheme来写,会有些许的不同,以后有机会的话,再写出来吧。

本文关键词:倍增模式图解,倍增的概念,什么是倍增模式图片,什么叫直销倍增模式,什么是倍增模式和裂变模式。这就是关于《倍增是什么意思,什么是倍增模式(如何用lisp正确写出“倍增”函数)》的所有内容,希望对您能有所帮助!

本文链接:https://bk.89qw.com/a-498720

最近发表
网站分类