从前,有位富翁,他的家产有 $1 (一整份家产) 他的大儿子分走了当中的 1/2 (一半),富翁剩下 $1/2 他的二儿子分走了剩下的 1/2 ,富翁剩下 $1/4 他的三儿子分走了剩下的 1/2 ,富翁剩下 $1/8 他的四儿子分走了剩下的 1/2 ,富翁剩下 $1/16
如此类推
由於 (1 + 1/n)ⁿ 是二項式的 n 次方,要了解它的特性(如剛才展示的上下限),需要用上二項式定理。上面不等式最具技巧的一步在於藍色分母從 n! 變成 2ⁿ⁻¹。 小問題:為何上標有 "-1"? 重點在於 n! = 1 ⋅ 2 ⋅ 3 ⋯ (n - 1) n 中,當 n! 變成 (n + 1)! 時,額外乘上的數字 n + 1 是隨 n 而增長,但 2ⁿ 變成 2ⁿ⁺¹ 時,額外乘上的數字永遠是 2,所以當 n「足夠大」(n > 3)時,n! > 2ⁿ。 取倒數後不等式反轉,於是出現 1/n! < 1/2ⁿ,然後就可以運用等比數列和公式,為 (1 + 1/n)ⁿ 給出上限。
上面實驗發現 n 越大,(1 + 1/n)ⁿ 也越大。即若 m < n,(1 + 1/m)ᵐ < (1 + 1/n)ⁿ。這種數列我們叫__嚴格遞增數列__。(「嚴格遞增」比「單調遞增」「嚴格」,只接受「>」,不接受「=」。) 練習:試證 (1 + 1/n)ⁿ < (1 + 1/(n + 1))ⁿ⁺¹ 提示:
# This is a GitLab CI configuration to build the project as a docker image | |
# The file is generic enough to be dropped in a project containing a working Dockerfile | |
# Author: Florent CHAUVEAU <[email protected]> | |
# Mentioned here: https://blog.callr.tech/building-docker-images-with-gitlab-ci-best-practices/ | |
# do not use "latest" here, if you want this to work in the future | |
image: docker:18 | |
stages: | |
- build |
using Primes | |
plist = primes(1,10000) | |
sumdigits(n, base=10) = sum(digits(n, base)) | |
for p in plist[1:100] | |
sdgit = sumdigits(big(p)^2016) | |
println("$(p), $(log(p)), $(sdgit)") | |
if sdgit == 2017 | |
break | |
end | |
end |
figure | |
title('A connected not path connected set') | |
hold on | |
% Plot set A | |
for i = 1:10 | |
plot([0,1], [0,1/i], "linewidth", 2) | |
end | |
% Plot set B | |
plot([0.5,1],[0,0],'--', "linewidth",2) |
# input | |
a = int(input("Donner la valeur de a: ")) | |
b = int(input("Donner la valeur de b: ")) | |
# avant échange | |
print("a = ",a) | |
print("b = ",b) | |
# échange | |
a, b = b, a |
Nvec = 10000:10000:1000000; % no of intervals | |
rrsumvec = zeros(size(Nvec)); | |
for ind = 1:length(Nvec) | |
N = Nvec(ind); | |
dx = 5 / N; | |
x = (1:N) * dx; | |
fx = sqrt(25 - x.^2); | |
rrsum(ind) = sum(fx * dx); | |
end | |
# Show dual simplex tableau | |
# Prereq: matrix A, vectors b,c, basis | |
printf("Current basis:"); printf(" %2i", basis); disp(""); | |
B = A(:,basis); cB = c(basis); | |
Bm1A = B\A; xB = B\b; zrow = cB'*Bm1A-c'; zval = cB'*xB; | |
if length(xB(xB<0)) >= 1 | |
ovp = find(xB==min(xB(xB<0)))(1); | |
r = zrow./Bm1A(ovp,:); # ratio for display | |
T = [0:size(A)(2) 0; basis' Bm1A xB; 0 zrow zval; 0 r 0] | |
# compute min ratio |