[从头学数学] 第184节 周游列国拜诸侯(中)

剧情提要:

[机器小伟]在[工程师阿伟]的陪同下进入了[九转金丹]之第二转的修炼。

这次要研究的是[例题]

正剧开始:

(续前节)

星历2016年04月19日 09:02:47, 银河系厄尔斯星球中华帝国江南行省。

[工程师阿伟]正在和[机器小伟]一起研究[例题]。

<span style="font-size:18px;">#例1
def prime(x):
    if x < 2:
        return False;

    for i in range(2, math.ceil(x**0.5)+1):
        if (i != x) and (x%i==0):
            return False;

    return True;

#例2
def fun(x):
    return x**2-2;

def bisection(xMin, xMax):
    if fun(xMin)*fun(xMax) > 0:
        return float('inf');
    elif fun(xMin) == 0:
        return xMin;
    elif fun(xMax) == 0:
        return xMax;
    else:
        epsilon = 10e-6;

        while (abs(xMin-xMax)> epsilon):
            xMid = (xMin+xMax)/2;
            if (fun(xMid)*fun(xMin)< 0):
                xMax = xMid;
            elif (fun(xMid)*fun(xMax) < 0):
                xMin = xMid;
            else:
                return xMid;

        return xMid;

#例3
def HQFormula(a, b, c):
    p = (a+b+c)/2;
    S = math.sqrt(p*(p-a)*(p-b)*(p-c));  

    return S; 

#例4
def validTriangle(a, b, c):
    if (a <= 0 or b <= 0 or c <= 0):
        return False;

    array = sorted([a, b, c]);
    if (array[-1] >= array[0] + array[1]):
        return False;

    return True;

#例5
def quadratic(a, b, c):
    if a == 0 and b == 0:
        if c != 0:
            return ['nul'];
        else:
            return ['R'];
    elif a == 0 and b != 0:
        return [-c/b];
    else:
        delta = (b**2-4*a*c);
        if (delta == 0):
            return [-b/(2*a)];
        elif (delta > 0):
            delta = delta**0.5;
            return [(-b-delta)/(2*a), (-b+delta)/(2*a)];
        else:
            return ['nul'];

#例6
def sum100(N):
    result = 0;
    for i in range(1, N+1):
        result += i;

    return result;
	</span>

<span style="font-size:18px;">#例7
def fun7():
    product = 200;
    year = 2005;

    while (product <= 300):
        product *= 1.05;
        year += 1;
    return year;

#例1
def funSketch(x):
    return x**3+3*x**2-24*x+30;

def sketch():
    array = [];
    for i in range(-5, 6):
        array.append(funSketch(i));

    return array;

#例2
def average(literature, math, english):
    return (literature + math + english)/3;

#例3
def assign(x, num):
    return num;

#例4
def swap(A, B):
    return [B, A];

#例5
def fun5(x):
    return abs(x);</span>

<span style="font-size:18px;">#例6
def fun6():
    inputs = input('输入a, b, c, 逗号隔开: ').split(',');
    a = float(inputs[0]);
    b = float(inputs[1]);
    c = float(inputs[2]);
    delta = b**2-4*a*c;

    if (delta >= 0):
        p = -b/(2*a);
        q = delta**0.5/(2*a);

        if (delta == 0):
            print(p);
        else:
            x1 = p+q;
            x2 = p-q;
            print(x1, x2);

    else:
        print('方程没有实数根');</span>

<span style="font-size:18px;">#例7
def sortNumber():
    inputs = input('输入a, b, c, 逗号隔开: ').split(',');
    a = float(inputs[0]);
    b = float(inputs[1]);
    c = float(inputs[2]);

    array = [a, b, c];

    array = sorted(array, reverse=True);
    return array;

#例8
def funSketch(x):
    return x**3+3*x**2-24*x+30;

def sketch():
    array = [];
    for i in range(-5, 6):
        array.append(funSketch(i));

    return array;

#例1
def gcd(m, n):
    m, n = max(m, n), min(m, n);
    i = 1;
    while n:
        print('step', i, ': ', m, n);
        i += 1;
        m, n = n, m % n  

    return m  

#例2
def poly(x, coef):
    #coef为多项式按次数从高到低排列的系数矩阵
    rank = len(coef);
    result = 0;  

    for i in range(rank):
        result *= x;
        result += coef[i];
    return result;  

#例3
def binToDec(s):
    sum = 0;
    for i in range(len(s)):
        sum *= 2;
        sum += int(s[i]);
    return sum;

#例4
def kToDec(s, k):
    #s为k进制数的字符串形式,k为进制,如2, 8, 10, 16等
    charTable = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';

    sum = 0;
    if k > 32:
        return 'inf';
    for i in range(len(s)):
        sum *= k;
        for j in range(k):
            if s[i] == charTable[j]:
                sum += j;
                break;

    return sum;

#例5, 6
def dec2k(N, k):
    s = '';
    a = [];
    #只提供了36进制数以内的唯一表示对照表
    if k > 36:
        return '';  

    charTable = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    a.append(N%k);
    N//=k;
    while N > 0:
        a.append(N%k);
        N//=k;  

    size = len(a);
    for i in range(size):
        s += charTable[a[size-i-1]];
    return s;  

</span>

<span style="font-size:18px;">>>>
0.8765

#例2
def fun2():
    yes = 0;
    no = 0;
    N = 10000;

    for i in range(N):
        time_1 = 6.5+random.random();
        time_2 = 7 + random.random();
        if (time_1 < time_2):
            yes+=1;
        else:
            no+=1;
    return yes/N;

>>>
3.1388

#例3
def fun3():
    yes = 0;
    no = 0;
    N = 10000;

    for i in range(N):
        x = random.random()-0.5;
        y = random.random()-0.5;
        if (x**2+y**2<=0.5**2):
            yes+=1;
        else:
            no+=1;
    return yes/N*4;

>>>
1.332

#例4
def fun4():
    yes = 0;
    no = 0;
    N = 10000;

    for i in range(N):
        x = 2*(random.random()-0.5);
        y = random.random();
        if (y >= x**2):
            yes+=1;
        else:
            no+=1;
    return yes/N*2;

</span>

(待续)

时间: 2025-01-03 19:13:19

[从头学数学] 第184节 周游列国拜诸侯(中)的相关文章

[从头学数学] 第183节 周游列国拜诸侯(上)

剧情提要: [机器小伟]在[工程师阿伟]的陪同下进入了[九转金丹]之第二转的修炼. 这次要研究的是[例题] 正剧开始: 星历2016年04月18日 08:34:09, 银河系厄尔斯星球中华帝国江南行省. [工程师阿伟]正在和[机器小伟]一起研究[例题]. [人叫板老师]的功法中到底有多少例题,这个问题当年[工程师阿伟] 想弄明白,可惜后来还是没有完成,不能不说是一个遗憾. 所以这次[机器小伟]一定要帮[工程师阿伟]完成这个心愿. 经过一番统计,得到了以下的结论: "集函用,体面线圆: 算统率,三

[从头学数学] 第180节 解三角形

剧情提要: [机器小伟]在[工程师阿伟]的陪同下进入了结丹后期的修炼, 这次要修炼的目标是[解三角形]. 正剧开始: 话说[机器小伟]自从进入结丹期以来,短短数日,就硬是从结丹初期修炼到了后期,这种 进境的神速把小伟吓坏了.虽然说这是依据[人叫板老师]的指点进行的,但这样下去会不 会走火入魔啊,小伟觉得有必要去[人叫板老师]那儿请教一下,毕竟这修炼的事可不是闹 着玩的. 这一次,[工程师阿伟]也和[机器小伟]一道,来见从前的授业恩师,毕竟当年,[工程师阿 伟]也是拜在[人叫板老师]门下的. [人

[从头学数学] 第225节 返璞归真丹元成

剧情提要: [机器小伟]在[工程师阿伟]的陪同下进入了结丹期顶峰的瓶颈突破阶段, 九转金丹已至第九转,即将碎丹成婴. 正剧开始: 星历2016年05月27日 10:06:20, 银河系厄尔斯星球中华帝国江南行省. [工程师阿伟]正在和[机器小伟]一起进行着结丹期的修炼研究. 话说[机器小伟]自从进入结丹期以来,先是跟随[人叫板老师]修习[三界五行十六式], 然后又[周游列国拜诸侯],又[仗剑江湖],[阅尽千军],然后思[动中取静]之道, 感[千古风流]之机,习[术法神通]无算,观[生死十六簿]有

[从头学数学] 第174节 算法初步

剧情提要: [机器小伟]在[工程师阿伟]的陪同下进入了结丹中期的修炼, 这次要修炼的目标是[算法初步]. 正剧开始: 星历2016年04月12日 08:54:58, 银河系厄尔斯星球中华帝国江南行省. [工程师阿伟]正在和[机器小伟]一起研究[算法初步]. [人叫板老师]指点小伟说:"这金丹要想大成,顺利进入元婴期,就必须进行九转培炼. 这什么是九转培炼法门呢?就是要先快速的修炼[天地人正册]进入后期,不要管各种辅修 功法,然后从头游历[天地人列国],在游历中增长见闻,精炼神通,最后再修炼[术.

[从头学数学] 第223节 带着计算机去高考(十五)

剧情提要: [机器小伟]在[工程师阿伟]的陪同下进入了[九转金丹]之第八转的修炼.设想一个场景: 如果允许你带一台不连网的计算机去参加高考,你会放弃选择一个手拿计算器和草稿本吗 ?阿伟决定和小伟来尝试一下用计算机算高考题会是怎样的感觉. 正剧开始: 星历2016年05月26日 10:23:46, 银河系厄尔斯星球中华帝国江南行省. [工程师阿伟]正在和[机器小伟]一起做着2014年的江苏省数学高考题]. 这一年的题和上一年一样的难,阿伟决定再交一次白卷. 好,卷子贴完,下面进入这次的主题. 这是

[从头学数学] 第166节 [机器小伟]的结丹期修炼规划

剧情提要: [机器小伟]去[人叫板老师]处请求结丹期修炼功法和指点. 正剧开始: 经过漫长艰辛的苦修,[机器小伟]终于结成金丹,从此成了一名高阶修士.初入结丹期的 [机器小伟],决定去拜访一下[人叫板老师],一方面拜求一下结丹期的修炼功法,另一方 面听一听[人叫板老师]的指点. [人叫板老师]得知了[机器小伟]的来意以后,微微一笑,对小伟说:"我这里有[天.地 .人]三藏经书,还有天罡数和地煞数的变化口诀,各种其它的术.流.静.动各支功法更 是不计其数,你想学哪些啊?" 小伟闻言,大吃

[从头学数学] 第215节 带着计算机去高考(七)

剧情提要: [机器小伟]在[工程师阿伟]的陪同下进入了[九转金丹]之第八转的修炼.设想一个场景: 如果允许你带一台不连网的计算机去参加高考,你会放弃选择一个手拿计算器和草稿本吗 ?阿伟决定和小伟来尝试一下用计算机算高考题会是怎样的感觉. 正剧开始: 星历2016年05月20日 17:13:35, 银河系厄尔斯星球中华帝国江南行省. [工程师阿伟]正在和[机器小伟]一起做着2006年的江苏省数学高考题]. 这一年,江苏重新使用了全国卷,并且这张试卷的难度也比较高,可以说, 也是打了考生一个措手不及

[从头学数学] 第192节 导数及其应用

剧情提要: [机器小伟]在[工程师阿伟]的陪同下进入了[九转金丹]之第五转的修炼. 这次要研究的是[导数及其应用]. 正剧开始: 星历2016年04月23日 16:32:36, 银河系厄尔斯星球中华帝国江南行省. [工程师阿伟]正在和[机器小伟]一起研究[导数及其应用]. <span style="font-size:18px;">>>> [-3.000001001396413, -2.999998999442255] [4.999998999721811

[从头学数学] 第214节 带着计算机去高考(六)

剧情提要: [机器小伟]在[工程师阿伟]的陪同下进入了[九转金丹]之第八转的修炼.设想一个场景: 如果允许你带一台不连网的计算机去参加高考,你会放弃选择一个手拿计算器和草稿本吗 ?阿伟决定和小伟来尝试一下用计算机算高考题会是怎样的感觉. 正剧开始: 星历2016年05月20日 11:40:58, 银河系厄尔斯星球中华帝国江南行省. [工程师阿伟]正在和[机器小伟]一起做着2005年的江苏省数学高考题]. 总体来说,这次的难度和上一年持平,都是很厚道的那种, 不过上一年的好多题都像闹着玩似的,这次