zoukankan      html  css  js  c++  java
  • 小明年龄、成绩、名次的求解问题

    小明年龄、成绩、名次的求解问题

    1  问题的提出

    小明的年龄、成绩、名次的成绩是2910,小明的名次、成绩是多少?

    2  问题的假设

    假设1:小明处于少年期(7~17岁),成绩为100分制。

    假设2:不考虑“小”明还是“老”明,统一小明的年龄≥0岁且≤134岁(当前世界记录人类的最大年龄),成绩为100分制。

    3  数学模型的描述

    设小明的年龄为age,成绩为grade,名次为rank,因为年龄和名次均为整数,则成绩必为整数,考虑成绩是小数,例如92.5分是没有意义的,因此有以下数学模型。

     

    4  数学模型的求解

    该数学模型适合采用穷举法进行求解。

    假设1下的求解。

    MATLAB代码如下:

    clc;clear;

    Age=[];

    Grade=[];

    Rank=[];

    for age=7:1:17

        for grade=1:1:100

            for rank=1:1:2910

                if(abs(age*grade*rank-2910)<1e-6)

                    Age=[Age age];

                    Grade=[Grade grade];

                    Rank=[Rank rank];

                end

            end

        end

    end

    n=size(Age,2);

    Str='';

    if n==0

        disp('无解。')

    else

        for i=1:1:n

            str = sprintf('年龄为:%d, 成绩为%d, 排名为第%d. ',Age(i),Grade(i),Rank(i));

            Str=[Str str];

        end

    end

    disp(Str)

    运行求解结果如下:

    序号1 年龄为:10, 成绩为1, 排名为第291.

    序号2 年龄为:10, 成绩为3, 排名为第97.

    序号3 年龄为:10, 成绩为97, 排名为第3.

    序号4 年龄为:15, 成绩为1, 排名为第194.

    序号5 年龄为:15, 成绩为2, 排名为第97.

    序号6 年龄为:15, 成绩为97, 排名为第2.

    因此在假设1下有6个解。

     

    假设2的求解。

    仅需将上述代码中的age=7:1:17替换成age=1:1:134

    运行求解结果如下:

    序号1 年龄为:1, 成绩为1, 排名为第2910.

    序号2 年龄为:1, 成绩为2, 排名为第1455.

    序号3 年龄为:1, 成绩为3, 排名为第970.

    序号4 年龄为:1, 成绩为5, 排名为第582.

    序号5 年龄为:1, 成绩为6, 排名为第485.

    序号6 年龄为:1, 成绩为10, 排名为第291.

    序号7 年龄为:1, 成绩为15, 排名为第194.

    序号8 年龄为:1, 成绩为30, 排名为第97.

    序号9 年龄为:1, 成绩为97, 排名为第30.

    序号10 年龄为:2, 成绩为1, 排名为第1455.

    序号11 年龄为:2, 成绩为3, 排名为第485.

    序号12 年龄为:2, 成绩为5, 排名为第291.

    序号13 年龄为:2, 成绩为15, 排名为第97.

    序号14 年龄为:2, 成绩为97, 排名为第15.

    序号15 年龄为:3, 成绩为1, 排名为第970.

    序号16 年龄为:3, 成绩为2, 排名为第485.

    序号17 年龄为:3, 成绩为5, 排名为第194.

    序号18 年龄为:3, 成绩为10, 排名为第97.

    序号19 年龄为:3, 成绩为97, 排名为第10.

    序号20 年龄为:5, 成绩为1, 排名为第582.

    序号21 年龄为:5, 成绩为2, 排名为第291.

    序号22 年龄为:5, 成绩为3, 排名为第194.

    序号23 年龄为:5, 成绩为6, 排名为第97.

    序号24 年龄为:5, 成绩为97, 排名为第6.

    序号25 年龄为:6, 成绩为1, 排名为第485.

    序号26 年龄为:6, 成绩为5, 排名为第97.

    序号27 年龄为:6, 成绩为97, 排名为第5.

    序号28 年龄为:10, 成绩为1, 排名为第291.

    序号29 年龄为:10, 成绩为3, 排名为第97.

    序号30 年龄为:10, 成绩为97, 排名为第3.

    序号31 年龄为:15, 成绩为1, 排名为第194.

    序号32 年龄为:15, 成绩为2, 排名为第97.

    序号33 年龄为:15, 成绩为97, 排名为第2.

    序号34 年龄为:30, 成绩为1, 排名为第97.

    序号35 年龄为:30, 成绩为97, 排名为第1.

    序号36 年龄为:97, 成绩为1, 排名为第30.

    序号37 年龄为:97, 成绩为2, 排名为第15.

    序号38 年龄为:97, 成绩为3, 排名为第10.

    序号39 年龄为:97, 成绩为5, 排名为第6.

    序号40 年龄为:97, 成绩为6, 排名为第5.

    序号41 年龄为:97, 成绩为10, 排名为第3.

    序号42 年龄为:97, 成绩为15, 排名为第2.

    序号43 年龄为:97, 成绩为30, 排名为第1.

    因此在假设2下有43个解。

  • 相关阅读:
    【Javascript】javascript学习 二十二 JavaScript 对象简介
    【Javascript】javascript学习 二十六 JavaScript Boolean(逻辑)对象
    【Javascript】javascript学习 二十九 JavaScript HTML DOM 对象
    【Javascript】javascript学习 二十八 JavaScript RegExp 对象
    【Javascript】javascript学习 二十一 JavaScript 指导方针
    【Javascript】javascript学习 二十三 JavaScript 字符串(String)对象
    【Javascript】javascript学习 三十 JavaScript 浏览器检测
    【Javascript】javascript学习 二十五 JavaScript Array(数组)对象
    【Javascript】javascript学习 二十四 JavaScript Date(日期)对象
    【Javascript】javascript学习 二十七 JavaScript Math(算数)对象
  • 原文地址:https://www.cnblogs.com/design-by-zam/p/13955319.html
Copyright © 2011-2022 走看看