[问题解答]有多少个5?
By 苏剑林 | 2013-02-18 | 28919位读者 | 引用[问题解答]有多少位数字?
By 苏剑林 | 2013-02-21 | 17174位读者 | 引用解决完上一题《有多少个5?》后,子瑞表示看到一道类似的题目,当然,这道题比上一道难一些:
一个数,各个数字加起来等于900,乘以2后各个数字加起来还是等于900,已知这个数字只有3、4、5、6组成,请问满足条件的最大数与最小数的积有多少位数?
要解答这个问题,我们只需要知道最大数和最小数分别有多少位即可。因为最大数必然是6...3的形式,而最小数只能是3...6的形式,它们的位数之和就是所求的位数。
怎样比较两个数的大小呢?显然,在不同位数的数时,位数多的数要大,同样位数才从高到低逐位比较。因此,我们应当考虑位数的最大与最小。
齐次对称多项式初等表示的新尝试
By 苏剑林 | 2013-07-05 | 28418位读者 | 引用这是我的这学期高等代数课的一个小论文。说到这里,其实我挺喜欢那些不用考试,通过平时考核以及写论文、报告或者做实验的方式来评成绩的方式,毕竟我觉得这才是比较综合地体现了知识和技能的水平(当然更重要的一个原因是我比较喜欢写作啦~~)。我们高等代数有两门课程,一是基本的上课,二是研讨课,分别考核。老师照顾我们,研讨课不用考试,写小论文就行了。Yeah~~
我写的是有关对称多项式的。其实这文章在半个学期之前就酝酿着了,当时刚学到对称多项式的初等表示。所谓初等表示,就是将一个多元对称多项式表示为σ1,σ2,σ3,...的组合。其中
σ1=x1+x2+...+xnσ2=x1x2+x1x3+...+x1xn+x2x3+...+xn−1xn...σn=x1x2...xn
书本上给出了待定系数法,但是每次都要求解方程组,让我甚是烦恼,所以我研究直接展开的方案,最终得出了两种方法。当时也刚好接触着张量的知识,了解到“爱因斯坦求和约定”,于是想充分发挥其威力,就促成了这篇文章。其实我自定义了“方括弧”和“圆括弧”两种运算,都是符号上的简化。两种方法在某种意义上相互补充,笔者自感颇为满意,遂与大家分享。具体内容就不贴出来了,请大家下载pdf文件观看吧。
齐次多项式不等式的机器证明(差分代换)
By 苏剑林 | 2014-07-06 | 43471位读者 | 引用在高中阶段,笔者也像很多学生一样参加过数学竞赛,而在准备数学竞赛的过程中,也做过一些竞赛题,其中当然少不了不等式题目。当时,面对各种各样的不等式证明题,我总是非常茫然,因为看到答案之后,总感觉证明的构造非常神奇,但是每当我自己独立去做时,却总想不出来。于是后来就萌生了“有没有办法可以通用地证明这些不等式?”的想法。为了实现这个目的,当时就想出了本文的技巧——通过牺牲计算的简便性来换取证明的有效性。后来,我虽然没有走上数学竞赛这条路,但这个方法还是保留了下来,近日,在和数学研发论坛的朋友们讨论不等式问题时,重新拾起了这个技巧。
此前,在本博客的文章《对称多项式不等式的“物理证明”》中,已经谈到了这个技巧,只是限制于当时的知识储备,了解并不深入。而在本文中,则进行拓展了。这个技巧在当时是我自己在证明中独立发现的,而现在在网上查找时发现,前辈们(杨路、姚勇、杨学枝等)早已研究过这个技巧,称之为“差分代换”,并且已经探究过它在机器证明中的作用。该技巧可以很一般化地用于齐次/非其次不等式的证明,限于篇幅,本文只谈齐次多项式不等式,特别地,是对称齐次多项式不等式,并且发现某些可以简化之处。
班门弄斧:Python的代码能有多简洁?
By 苏剑林 | 2014-10-07 | 30625位读者 | 引用结果恒为整数的多项式
By 苏剑林 | 2014-12-04 | 25090位读者 | 引用将多项式分解为两个不可约多项式之和
By 苏剑林 | 2014-12-22 | 41497位读者 | 引用【备忘】Python中断多重循环的几种思路
By 苏剑林 | 2016-12-19 | 66949位读者 | 引用跳出单循环
不管是什么编程语言,都有可能会有跳出循环的需求,比如枚举时,找到一个满足条件的数就终止。跳出单循环是很简单的,比如
for i in range(10):
if i > 5:
print i
break
然而,我们有时候会需要跳出多重循环,而break只能够跳出一层循环,比如
for i in range(10):
for j in range(10):
if i+j > 5:
print i,j
break
这样的代码并非说找到一组i+j > 5就停止,而是连续找到10组,因为break只跳出了for j in range(10)这一重循环。那么,怎么才能跳出多重呢?在此记录备忘一下。
最近评论