|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
问题描述:
现有一个K*K(0<K,K为整型数,k<25535)的存储器,要对其已分配的空间进行分配及回收。(下标从0开始,最后一个内存块下标为K*K-1)。现此存储器中块号下标为素数(素数是指仅能被自己和1整除的正整数,不含0。如2、3、5、7、11)的内存块已被占用。要求输入需分配的进程数M(0<M,M为正整型数),接下来输入为M个整型数,每个数为各个进程需占用的内存块数。当分配到某进程时,其剩余空闲块数可以分配,就输出当前进程分配的最后一个内存空间的下标。当分配到某进程时,其进程块数超出剩余空闲块数无法分配,输出为“false”(不含双引号,且为全小写)。输出的多个下标(或"false")之间用空格隔开。以上进程不管是否分配成功,按照输入顺序依次命名为p1、p2、p3………pM。回收的时候输入进程名pN,则返回进程名为pN的所有占用内存块号下标,如果该进程名不存在或输入的数值为不合理范围,则返回“false”。
输入:
程序输入分为五行,第一行为一个正整型数K,第二行是一个正整型数M,表示要所需分配空间的进程数,第三行为M个整型数,每个数之间用空格隔开,表示M个进程每个进程占用的内存空间大小。第四行位需要回收的进程数N(0<N<M) 第五行为需要回收的进程名,多个进程名之间用空格隔开。
输出:
输出为N+1行,第一行为一组整型数,每个整型数表示该进程最后一个被分配的内存空间的下标,下标之间用空格隔开。接下来N行,为N组整型数,表示被回收的进程的内存块下标,多个下标之间用空格隔开。 |
|