楼主: cheetahfly
2050 2

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

  • 2关注
  • 72粉丝

版主

已卖:1份资源

院士

11%

还不是VIP/贵宾

-

威望
0
论坛币
63914 个
通用积分
1679.2833
学术水平
489 点
热心指数
598 点
信用等级
336 点
经验
127401 点
帖子
2098
精华
1
在线时间
3982 小时
注册时间
2010-10-27
最后登录
2025-12-24

楼主
cheetahfly 在职认证  发表于 2016-7-4 09:07:19 |AI写论文

+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
拉您进交流群
GMT+8, 2025-12-27 04:21