记忆曲线

来源:互联网 发布:像素美术软件下载 编辑:程序博客网 时间:2024/04/28 23:56

 4500个单词,分为45段(每段100个)记忆,按照{1,2,4,7,15}天后复习时间最佳 如 A 段单词 1月1号学习得 1天后1月2号复习时间最佳,2天后 1月4号复习时间最佳...等。如果有新得段没开是学习,每天必须且只能新学习一段单词。

每天新学和复习得单词数不得超过500个。当超出500时将更早学习得段停止复习(一旦停止,以后均不需要复习了)。用一段程序实现该记忆曲线。

×/

using System;
using System.Collections.Generic;
using System.Text;

namespace reminderLine
{
    class Program
    {
        static int[] iarray = new int[45];//分为45段,数组中放置的是相对学习的总天数,包括间隔天数,如果iarray[j]==-1,说明该段不需要复习了
        //static int //
        static int[] step ={1,2,4,7,15};
        static void Main(string[] args)
        {
            //
            int iDays = 45;//假设学习45天。
            for (int i = 0; i < iDays; i++)
            {
                Console.Write("第"+(i+1)+"天学习的分段号为:");
                Xuexi(i);
                Console.Write("/n");
            }
            Console.Read();
           
        }
        static void Xuexi(int i)//第i+1天学习
        {
            int iCurrent = 0;//记录第i+1天学习多少段
            if (i < iarray.Length)//如果i小于分段数,则每天学习一段
            {
                iarray[i]++;
                iCurrent++;
                Console.Write(""+(i+1)+",");
            }
            for (int j = i < iarray.Length ? i-1 : iarray.Length - 1; j >= 0; j--)//依次判断其他段是否到达复习点
            {
                if(iarray[j]==-1)//如果iarray[j]==-1,说明该段不需要复习了
                {
                    continue;
                }
                int m = 0;
                for (int n = 0; n < step.Length; n++)
                {
                    if ((i+1) - iarray[j] - j == step[n] && iarray[j] <= step[n])
                    {
                        if (iCurrent < 5)//如果当天学习的分段数不足5则复习(学习)该分段
                        {
                            iCurrent++;
                            Console.Write("" + (j + 1) + ",");
                            iarray[j]++;
                        }
                        else//如果今天学习超出5个分段,则将其他需要复习的分段值置成-1
                        {
                            iarray[j] = -1;
                        }
                    }
                }
            }
        }
    }
}

原创粉丝点击