当前位置: 首页 > news >正文

做网站买虚拟主机爱站

做网站买虚拟主机,爱站,做夏促的网站有哪些,node js 网站开发蓝桥杯真题---内存问题 题目描述: 小蓝最近总喜欢计算自己的代码中定义的变量占用了多少内存空间。 为了简化问题,变量的类型只有以下三种: int:整型变量,一个 int 型变量占用 4 Byte 的内存空间。 long&#xff…

蓝桥杯真题---内存问题

题目描述:

小蓝最近总喜欢计算自己的代码中定义的变量占用了多少内存空间。

为了简化问题,变量的类型只有以下三种:

int:整型变量,一个 int 型变量占用 4 Byte 的内存空间。

long:长整型变量,一个 long 型变量占用 8 Byte 的内存空间。

String:字符串变量,占用空间和字符串长度有关,设字符串长度为 L,则字符串占用 L Byte 的内存空间,如果字符串长度为 0 则占用 0 Byte 的内存空间。

定义变量的语句只有两种形式,第一种形式为:

type var1=value1,var2=value2…;

定义了若干个 type 类型变量 var1、var2、…,并且用 value1、value2、…初始化。

多个变量之间用’,’ 分隔,语句以’;’ 结尾,type 可能是 int、long 或 String。例如 int a=1,b=5,c=6; 占用空间为 12 Byte;long a=1,b=5; 占用空间为 16 Byte;String s1=””,s2=”hello”,s3=”world”; 占用空间为 10 Byte。

第二种形式为:

type[] arr1=new type[size1],arr2=new type[size2]…;

定义了若干 type 类型的一维数组变量 arr1、arr2…,且数组的大小为 size1、size2…,多个变量之间用’,’ 进行分隔,语句以’;’ 结尾,type 只可能是 int 或 long。例如 int[] a1=new int[10]; 占用的内存空间为 40 Byte;long[] a1=new long[10],a2=new long[10]; 占用的内存空间为 160 Byte。

已知小蓝有 T 条定义变量的语句,请你帮他统计下一共占用了多少内存空间。结果的表示方式为:aGBbMBcKBdB,其中 a、b、c、d 为统计的结果,GB、MB、KB、B 为单位。优先用大的单位来表示,1GB=1024MB,1MB=1024KB,1KB=1024B,其中 B 表示 Byte。如果 a、b、c、d 中的某几个数字为 0,那么不必输出这几个数字及其单位。题目保证一行中只有一句定义变量的语句,且每条语句都满足题干中描述的定义格式,所有的变量名都是合法的且均不重复。题目中的数据很规整,和上述给出的例子类似,除了类型后面有一个空格,以及定义数组时 new 后面的一个空格之外,不会出现多余的空格。

具体请看题目。

思路为--我们需要在草稿纸上模拟c语言的输入变量的定义,这样可以帮助你更好的理解 后面的输出注意一下单位的换算
一定要在草稿纸上,按照这个代码,模拟一下输入输出,能让你更好地理解

就是这么简单的问题

所用到的函数为:

#lstrip(),用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。具体:

lstrip函数具体

#find:Python find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。

find函数具体

代码详细解:

t = int(input())ans = 0for i in range(t):s = input()a = s.split()if a[0]=='int':b = a[1].split(',') #相似的,这个是将已经被切分(以空格为切分符)的输入字符,从数组下标为1处,取出变量名,由题目可知(去看看题目的描述)ans += len(b)*4 #变量名有几个,就乘多少个 4  (这里的4,指的是4个字节)elif a[0]=='long':b = a[1].split(',') #与上面的int类似操作ans += len(b)*8elif a[0] == 'String':b = a[1].split(',')for x in b:ans += len(x) - x.find('=') - 3#len(x)是为获取总长度,为了放回字符串的长度,x.find('=')返回=的下标为1#然后名字和=的长度共占4,所以减去‘=’下标长再减去3剩下的就是字符串的长ans-=1  #减去后面的分号elif a[0]=='long[]':s=s.lstrip('long[]') #去除前面的"long[]"后为形成新的字符串b=s.split(',')#将函数的类型与变量定义分离,然后形成list装住for j in b:st = j.find('[')+1 #例如这是分离后的-- int a[20] -->找到'['的下标 再加1就是 第一个数字的位置end = j.find(']') #找到结束位置,[:] 的划分是取左不取右x = int(j[st:end])ans+=x*8elif a[0]=='int[]':s=s.lstrip('int[]')b=s.split(',')for j in b:st = j.find('[')+1 #与上面类似end = j.find(']')x = int(j[st:end])ans+=x*4G = ans//(1024**3)M = ans%(1024**3)//(1024**2)K = ans%(1024**2)//1024B = ans%1024if G!=0:print(f'{G}GB',end='')if M!=0:print(f'{M}MB',end='')if K!=0:print(f'{K}KB',end='')if B!=0:print(f'{B}B',end='')

感谢你的观看。

http://www.ds6.com.cn/news/92049.html

相关文章:

  • 钓鱼网站模板制作网站优化技术
  • dedecms 网站url路径优化广州高端网站建设公司
  • 专业提供网站建设服务公司疫情放开最新消息今天
  • 小白一步步做网站南宁网站优化
  • 政府网站怎么管理系统卢镇seo网站优化排名
  • wamp配置多个网站长沙seo网站排名优化公司
  • php构建网站如何开始seo优化方向
  • 电子线路板东莞网站建设文案短句干净治愈
  • 做网站用什么团建百度网络推广怎么收费
  • 网络培训意义天津seo博客
  • 做美妆网站的关键词常熟seo网站优化软件
  • 免费建材网站模板今日新闻最新头条10条摘抄
  • 佛山公司网站设计团队刚刚中国出啥大事了
  • wordpress分类标题旺道网站优化
  • 番禺人才网入库考试seo搜索排名影响因素主要有
  • 响应式框架seo 优化公司
  • 房产中介网站怎么做汕头网站关键词推广
  • 济南微网站建设湖北百度seo排名
  • 数据线厂家东莞网站建设广告网站
  • 湖南企业网站定制南宁网站建设优化服务
  • wordpress实现中英文切换百度seo免费推广教程
  • 邯郸专业做网站全网投放广告的渠道有哪些
  • 网站开发的优势百度营业执照怎么办理
  • 蚌埠网站建设专业公司哪家好北京seo排名公司
  • 企业网上注册游戏优化是什么意思
  • 手机访问网站跳wap百度关键词价格怎么查询
  • wordpress成品网站云部落销售培训
  • ASP动态网站制作郑州seo优化服务
  • 株洲制作网站最近最新的新闻
  • 短网址生成链接南京seo推广优化