编程求x的n次方_今天学习了什么(9) 编程、日语和换元

2d2285c93075b22fb7ab064f08d9a448.png

本周的“今天学习了什么”是个大杂烩,有三位同学写了自己学习和思考的内容,涉及刚刚开始的编程、日语的动词变形,还有数学中的换元法,要想都看明白是越来越不容易了,你看哪个有趣就看哪个吧。

子曦 | 用编程实现鸡兔同笼

因为明年选课我选了一个computer science,以前从来没有学过电脑,暑假就补一下编程。虽然明年上课上的是C++,但是爸爸说python比较通用。我就开始学了一些非常基础的python。比如9*9乘法口诀表还有从大到小排列啊这样子最基础的,没有涉及什么太多的函数啊数学啊啥的。今天爸爸出了一道题目是用python做出一个鸡兔同笼计算器。如果腿的个数不能算出整数的动物数量就输出数据错误。第一眼看上去就蛮难的(就我这个程度而言),毕竟有方程的范畴了。有两种方法可以解决这个问题:

第一个是直接在运行的时候输入条件数量,直接进行计算。这个很简单,写出来的程序也很好懂:(数据随便填写的)

54ea2fad0346be9e26961790c8169507.png 

但是这个太烂了。第二种方法:第一步先想,如果要在输出里面变出一个计算机,肯定要先input两个量:头和第一个动物的腿的数量。

7c332cd1ff10b2df9941e1ecbb56ab3f.png 

这样子就可以输出一个让用户输入头的数量和腿的数量的两行字。下一步确认输入的值等于零的时候,不会进行计算。

8d84e51146b529a3e1ce4e048cab4184.png 

然后就是跟第一种方法相似的进行计算

422585458a369aaece1dd60e5f0cdc18.png 

然后再确定是否可以计算出整数的条件,如果不行就打印语言无效。   

98c0c8896007cdd20e90d07371e73966.png 

总结:两种方法里,第一种跟人的计算思维是一样的,只不过计算机算起来会快一点。第二种是通用的,可以在运行程序之后用更加简单的步骤算出答案,也就是input函数的作用。

乐爸:两种方法除了input 函数起到了输入参数的作用外,我倒觉得很有意思的是第一种方法用了一个循环,y是用35-x计算出来的,再判断鸡和兔的腿加起来是否正确;而第二种方法则用了两个循环,鸡和兔分别循环,同时判断脑袋和腿的数量是否一致。这是两种不同的思维模式哦,你喜欢哪一种呢?

小乐 | 日语动词十三种变形的用途和联系

ます形:动词的敬体

辞書形:动词原形,又称字典形,字典里会出现的形式

て形:表示中顿,不出现在句末

た形:动词过去式

ない形:动词的否定表达

可能形:表示能力、可能性

假定形:表示假设,如果,假如

命令形:命令式口吻,要求做某事,语气强硬

禁止形:命令式禁止,语气强硬

意向形:强烈地想做某事,表示意愿

被动形:表示被动,可主观可客观

使役形:表示强制、允许做某事

使役被动形:不是出于自身意志,而是被迫按照别人的指示做某事        492b443f5caed82451e7a1e8b584affa.png

十三种变形看似各不相同、没什么联系,但可以通过分类来找出联系。

  1. 按变形方法分:

    1. て形和た形可分为一类,因为两者动词的三类变形完全一样,唯一的区别就是把每种变形的て都变成た

    2. 使役形和被动形可分为一类,一个结尾时是せる、させる,另一一个是れる、られる,变形方法一样(一类动词都是把动词原形结尾的u段假名变成相应的a段再加せる或れる;二类动词都是在动词ます形后直接加させる或させる)

    3. 辞书形和禁止形可分为一类,禁止形的变形就是在辞书形的基础上再加一个な

  2. 按语气礼貌分:

    1. 禁止形和命令形可分为一类,都是语气强硬,非礼貌用语,能使用的场合比较受限,不用于下对上说话

    2. ます形和被动形可分为一类,两者都属于日语中的敬语形式。其中ます形属于礼貌形(丁寧語),被动形属于尊他语(尊敬語)。是较为得体有礼貌的动词形式

    3. 使役形和使役被动形可分为一类,都含有让人做某事、被迫做某事的意思,一般不能用于对长辈和上司说话

  3. 按在句子中所处位置分:

    1. て形作为动词中顿,一般只能出现在句子中间,不能用于结尾

    2. 假定形一般用于连接两个句子,表示“如果,就”等关系,一般也在两个句子之间,不放在结尾

乐爸:小乐和我聊日语的动词变形挺复杂的,说了有十三种变形,我听的很有趣,虽然发音和例句都没听懂。不过在她讲的过程中,我也经常打岔,一会问和中文的联系,一会问和英文的动词变形联系,这样就觉得不那么复杂了,最后她选择用分类的方法来描述,也是不错的一种方式。

郭乙容 | 意想不到的换元法

平常学习数学的时候常常会运用到换元法这个东西,在我以前遇到的一些题里面,换元法主要有两个好处:

1.     可以代替那些复杂的式子,防止抄错

2.     可以代替那些暂时算不出来的式子

一般运用到第一种挺多的,但是第二种不太使用,而且即使碰到这样的题也不见得就会想到用换元法,其中一种我遇到挺多的就是用换元法求解循环类型的题目。

举三个例子:

1. √2+√2+√2+√2+…=

c1ac144c57f021ae1300c7271ae9e0e0.png

第一次看到这道题目的时候我的内心是崩溃的,毕竟复合根式本身就不是什么方便化简的东西,更何况是无限循环的复合根式。

但是,这道题有趣之处正在于它是循环的。可以发现,抽象出来的一个部分就是它本身。也就是说,可以假设它本身就是一个整体,设为t, 由于它是无限循环的,那么在最外面的那个根号下面的那个数,就是t+2。也就是说可以得到一个表达式:t=√(t+2),下面只要解方程就好了。完整的过程就是这样:

设t=√2+√2+√2+√2+…

得到t=√(2+t)

解得t=2(负值舍去)

对于这道题来说,正面求解对我来说不太现实。然而用了换元法之后,却可以直接转化成一个简单的一元二次方程(只不过根的取值有限制)。

然而题目不一定都是这样,比如式子不一定是能一眼看出来的。

2. 用分数形式表示0.73737373…(73循环)

像上题一样,可直接设它本身是t,然而这里并没有现成的式子,所以要构造一个式子。可以发现这里最令人讨厌的部分就是这个小数点后面,由于它是无限循环的,所以不能用它直接构造。设法把这个部分给消掉,换言之,就是构造出一个关于t的式子使它的结果是一个整数。那么,可以让t乘上10的偶次幂使它的结果的小数部分与t本身的小数部分重合。以10的二次方为例,以完整的过程如下:

设t=0.73737373…

得到100t-t=73

解得t=73∕99           

对于这道题来说,找到合适的表达式成了最难的部分。

然而,并不是所有的题目的表达式都是通过代数上的思路想出来的,也有可能是通过逻辑上的推理,比如说下面这一道题。

3. A,B,C三人玩游戏,三者同一时间开始,每个人都重复地掷硬币直到这个人掷到字面,这时这个人停下来,求三者同时停下的概率。

这道题刚拿到的时候还是有常规思路的。先考虑第一次,这是三者同时抛出的正面,由于有三个人,所以可以认为分为三步,即1.第一个人抛到正面2.第二个人也抛到正面3.第三个人也抛到正面,三者概率相乘即可。

再考虑第二次,这时分为三步,即:1.第一个人第一次抛反面,第二次抛到正面2.第二个人重复第一个人的情况3.第三个人也是如此,三者概率相乘即可,后面以此类推。最后再把每一步相加。把结果写出来就是:

P(1)=(1/2)*(1/2)*(1/2)

P(2)=(1/2)^2*(1/2)^2*(1/2)^2

P(3)=(1/2)^3*(1/2)^3*(1/2)^3

……

P(n)=(1/2)^n*(1/2)^n*(1/2)^n

……

发现这是一个等比数列,公差是1/8

P=P(1)+……+P(n)+……=(1/8)/[1-(1/8)]=1/7(利用无穷递降等比数列求和公式)

这可能是个好方法,但是过程还是比较繁琐的,尤其是忘记求和公式的时候(比如说我)。所以下面可以思考到一个更加方便计算的方法。

这道题本质也是一个循环的问题,因为不知道要求什么,所以先设出p,作为要求的总概率。对于p而言,可以分为两步:1.第一步都结束了2.后面几步才结束。这是显然的。然而对于第二部及以后结束的概率,由于它是无限的,又可以认为是从第一步(把这一步作为第一步)重新开始,但是要建立于前一步没有成功结束的基础上,那么概率应是(1/8)*p,所以得到了:

P=(1/8)*P+1/8

解得P=1/7

对比上下两种方式发现,后一种虽然难想,但是表达式异常简单,不太会算错。换元法的便捷就这样体现出来了。

所以说,换元法在解循环问题的时候,威力是巨大的,然而要想让它充分发挥,要做到这几点。

1. 抽象出这个循环的东西,大多数情况下把它设为未知数

2. 想明白它是怎么循环的,并把它循环的过程表现出来,最终应得到一个表达式(感觉这一步比较难)。

3. 千万别算错。

乐爸:想起了上次小乐在“逆向思维”中就提到了变量替换是一个盲点,不过这个换元法更高级的,都是用在循环问题中,“每个循环的东西又都包含了自己本身”,郭乙容选择了三个不同类型的案例来阐述,看来很清晰。如果看懂了这三个案例,我想你一定也能构造出相同的一个题目出来,比如证明下“0.999……=1”,当然可不是让你用1/3 * 3来证明。

附公众号上“今天学习了什么”历史文章:

  • Arashi,今天学习了什么?

  • 今天学习了什么(1) - 三位一体和黑洞

  • 今天学习了什么(2) - 记录美好的感受

  • 今天学习了什么(3) - 建立物理和数学的联系

  • 今天学习了什么(4) - 从日本人的姓名说起

  • 今天学习了什么(5) - 需求法则和MLA

  • 今天学习了什么(6) - 思维、法文和圣经

  • 今天学习了什么(7) - 逆向思维

  • 今天学习了什么(8) - 函数和背单词

和朋友推荐“父愚女乐

7f9faf94611335871062eed9b43b4d90.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值