楼主: cheetahfly
1780 2

[实际应用] R语言向量化编程对思维过程的支持 [推广有奖]

  • 2关注
  • 71粉丝

版主

院士

6%

还不是VIP/贵宾

-

威望
0
论坛币
59004 个
通用积分
1407.4928
学术水平
480 点
热心指数
587 点
信用等级
328 点
经验
126497 点
帖子
2070
精华
1
在线时间
3777 小时
注册时间
2010-10-27
最后登录
2024-5-17

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
最近遇到这么一道题目,问:

1!*2!*3!*......*100!共有多少位数?

对于这个问题,我的想法是,上面的表达式,可以变形为:

1^100*2^99*3^98*......*100^1

因为求的是有多少位数,而不是具体结果,所以取log10(),这样就将乘方变为相乘,相乘变为相加,打开R程序,自然而然就写出了求解的表达式:

sum(log10(1:100)*100:1)

感触是:
1、整个过程非常流畅,脑中所想基本立刻变为程序代码,不用绕弯,不用为怎样将数学公式变为代码而增加额外的思考过程。大神Hadley Wickham所说的R语言通过牺牲一部分效率来增加代码的灵活性和直观性,助力思维过程,确实如此;

2、接触R语言一段时间,习惯向量化思维后,对此类实际运用,思考更加连贯,收获挺大。

3、这道题是广州市一家重点中学的小升初面试题。注意,小升初,面试题,论坛中有多少人能够心算出来?现在的小孩都已经逆天到这种程度了吗?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:R语言 向量化 重点中学 实际运用 数学公式 广州市 小升初 表达式 变形 程序

已有 1 人评分经验 收起 理由
zl89 + 40 精彩帖子

总评分: 经验 + 40   查看全部评分

沙发
十里春风 学生认证  发表于 2016-7-4 17:07:55 |只看作者 |坛友微信交流群
不知道数学理论的话,对于大整数,直接Python算。。
  1. N=100
  2. import math
  3. ss=1
  4. for ii in range(1,N+1):
  5.   ss=ss*math.factorial(ii)
  6. len(str(ss))#6491
复制代码


使用道具

藤椅
cheetahfly 在职认证  发表于 2016-7-4 17:41:43 |只看作者 |坛友微信交流群
十里春风 发表于 2016-7-4 17:07
不知道数学理论的话,对于大整数,直接Python算。。
如果用R语言,表达式上只需要prod(factorial(1:100)),不过确实不支持这么大的数,最多 只到prod(factorial(1:26))。

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-17 20:28