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

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

1  问题的提出

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

2  问题的假设

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

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

3  数学模型的描述

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

age*grade*rank=2950  (age,grade,rank都为整数) 

4  数学模型的求解

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

假设1下的求解。

MATLAB代码如下:

clc;clear;

Age=[];

Grade=[];

Rank=[];

for age=7:1:17

    for grade=1:1:100

        for rank=1:1:2950

            if(abs(age*grade*rank-2950)<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岁,\t成绩为%d分,\t排名为第%d名.\n',Age(i),Grade(i),Rank(i));

        Str=[Str str];

    end

end

disp(Str)

运行求解结果如下:

序号1 年龄为:10岁, 成绩为1分, 排名为第295名.

序号2 年龄为:10岁, 成绩为5分, 排名为第59名.

序号3 年龄为:10岁, 成绩为59分, 排名为第5名.

因此在假设1下有3个解:

小明年龄为:10岁,成绩为1分,排名为第295名或年龄为:10岁,成绩为5分,排名为第59名或年龄为:10岁,成绩为59分,排名为第5名。

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

 

 

 

假设2的求解。

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

运行求解结果如下:

序号1 年龄为:1岁, 成绩为1分, 排名为第2950名.

序号2 年龄为:1岁, 成绩为2分, 排名为第1475名.

序号3 年龄为:1岁, 成绩为5分, 排名为第590名.

序号4 年龄为:1岁, 成绩为10分, 排名为第295名.

序号5 年龄为:1岁, 成绩为25分, 排名为第118名.

序号6 年龄为:1岁, 成绩为50分, 排名为第59名.

序号7 年龄为:1岁, 成绩为59分, 排名为第50名.

序号8 年龄为:2岁, 成绩为1分, 排名为第1475名.

序号9 年龄为:2岁, 成绩为5分, 排名为第295名.

序号10 年龄为:2岁, 成绩为25分, 排名为第59名.

序号11 年龄为:2岁, 成绩为59分, 排名为第25名.

序号12 年龄为:5岁, 成绩为1分, 排名为第590名.

序号13 年龄为:5岁, 成绩为2分, 排名为第295名.

序号14 年龄为:5岁, 成绩为5分, 排名为第118名.

序号15 年龄为:5岁, 成绩为10分, 排名为第59名.

序号16 年龄为:5岁, 成绩为59分, 排名为第10名.

序号17 年龄为:10岁, 成绩为1分, 排名为第295名.

序号18 年龄为:10岁, 成绩为5分, 排名为第59名.

序号19 年龄为:10岁, 成绩为59分, 排名为第5名.

序号20 年龄为:25岁, 成绩为1分, 排名为第118名.

序号21 年龄为:25岁, 成绩为2分, 排名为第59名.

序号22 年龄为:25岁, 成绩为59分, 排名为第2名.

序号23 年龄为:50岁, 成绩为1分, 排名为第59名.

序号24 年龄为:50岁, 成绩为59分, 排名为第1名.

序号25 年龄为:59岁, 成绩为1分, 排名为第50名.

序号26 年龄为:59岁, 成绩为2分, 排名为第25名.

序号27 年龄为:59岁, 成绩为5分, 排名为第10名.

序号28 年龄为:59岁, 成绩为10分, 排名为第5名.

序号29 年龄为:59岁, 成绩为25分, 排名为第2名.

序号30 年龄为:59岁, 成绩为50分, 排名为第1名.

序号31 年龄为:118岁, 成绩为1分, 排名为第25名.

序号32 年龄为:118岁, 成绩为5分, 排名为第5名.

序号33 年龄为:118岁, 成绩为25分, 排名为第1名.

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

上一篇:DIOCP-DIOCPv5的处理能力


下一篇:mysql 秒与java毫秒之间的问题