ACM 模式练习记录 Vol.2

能写简单的,何不用一两行代码解决?

进度: 39/47

牛客竞赛语法入门班顺序结构习题

1 这是一道签到题

这是一道签到题~

所以~

请输出

zhe

shi

yi

dao

qian

dao

ti

1
print('zhe\nshi\n\yi\n\dao\n\qian\n\dao\nti')

2 排列式

7254是一个不寻常的数,因为它可以表示为7254 = 39 x 186,这个式子中1~9每个数字正好出现一次
输出所有这样的不同的式子(乘数交换被认为是相同的式子)
结果小的先输出;结果相同的,较小的乘数较小的先输出。

1
print('4396 = 28 x 157\n5346 = 18 x 297\n5346 = 27 x 198\n5796 = 12 x 483\n5796 = 42 x 138\n6952 = 4 x 1738\n7254 = 39 x 186\n7632 = 48 x 159\n7852 = 4 x 1963')

3 小飞机

KiKi学会了printf在屏幕输出信息,他想输出一架小飞机。请帮他编写程序输出这架小飞机。

1
print('     **\n     **\n************\n************\n    *  *\n    *  *')

4 学姐的”Helloworld!”

zafu又迎来了新一届的小可爱们,19级的大家突然变成了学长学姐。

在这些学长学姐中,有那么一位备受欢迎的学姐,她各个方面都非常优秀,但是就是对编程提不起兴趣。

上学期的时候学姐决定从头开始复习C语言,刷起了PTA上的习题集,可是第一题的输出”Hello world!”她就做错了,输出成了”Helo word!”。

为了安慰这位可爱的学姐,学弟学妹们请同样输出”Helo word!”来告诉学姐不止她一个人会犯这个错。

1
print("Helo word!")

5 乘法表

输出九九乘法表,输出格式见样例。

(直接 print 就是一顿输出,算法什么的就去他妈)

1
print('1*1= 1\n1*2= 2 2*2= 4\n1*3= 3 2*3= 6 3*3= 9\n1*4= 4 2*4= 8 3*4=12 4*4=16\n1*5= 5 2*5=10 3*5=15 4*5=20 5*5=25\n1*6= 6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36\n1*7= 7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49\n1*8= 8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64\n1*9= 9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81')

6 KiKi学程序设计基础

BoBo老师教了KiKi学习程序设计基础,他知道C++是带类的C语言,这个“++”主要包含三部分内容:对C语言进行语法上的扩展、面向对象(封装、继承和多态),STL(即模板)。这学期KiKi学习了C和C++,学好他们,其他编程语言都可以很轻松掌握。C和C++的输入有区别,请帮KiKi输出C和C++输出Hello world的代码。

1
print('printf("Hello world!\\n");\ncout << "Hello world!" << endl;')

7 疫情死亡率

请根据各国报告的疫情确诊数和死亡数,计算新冠疫情在各国的死亡率。

1
2
let a = readline().split(' ')
print(((a[1]/a[0])*100).toFixed(3)+"%")

8 爱因斯坦的名言

初出茅庐的小伙伴们,你们对编程了解多少?希望你们记住爱因斯坦的这句名言,好好学习,天天向上。

1
print('"Genius is 1% inspiration and 99% perspiration."')

9 字符串输出1.0

Mo2学长给大家发福利了,请大家将“Welcome to ACM / ICPC!”重复输出三次;

1
for(let i=0;i<3;i++)print('Welcome to ACM / ICPC!')

10 牛牛学说话之-整数

牛牛刚刚出生,嗷嗷待哺,一开始他只能学说简单的数字,你跟他说一个整数,他立刻就能学会。

输入一个整数,输出这个整数。

1
print(readline())

11 牛牛学说话之-浮点数

会说整数之后,牛牛开始尝试浮点数(小数)

输入一个浮点数,输出这个浮点数。

1
print(Number(readline()).toFixed(3))

12 牛牛学加法

给你两个整数,要求输出这两个整数的和

1
2
let a = readline().split(" ")
print(Number(a[0])+Number(a[1]))

13 牛牛学除法

输入两个整数a, b, 输出a/b的值,只保留整数部分

1
2
let a = readline().split(" ")
print(parseInt(a[0]/a[1]))

14 牛牛学取余

输入两个整数a, b, 输出a 除以b的余数,5除以2的余数为1,10除以4的余数为2

1
2
let a = readline().split(" ")
print(a[0]%a[1])

16 计算带余除法

给定两个整数a和b (0 < a,b < 10,000),计算a除以b的整数商和余数

1
2
let a = readline().split(" ")
print(Math.floor(a[0]/a[1]),a[0]%a[1])

17 水题再次来袭:明天星期几?

今天星期一,明天必然星期二。这是肯定不变的规律。如果我告诉大家,今天礼拜几,你能帮我推算出明天星期几吗? 已知,我们对于星期几的日期(周一到周日)简写如下: 1,2,3,4,5,6,7

1
print(parseInt(readline())%7+1)

18 开学?

小S:终于可以开学啦!好开心啊!

小Y:你没看新闻吗,开学日期又延后了。

小S:NOOOOOOOOOOOOOOOO!

小S知道原计划星期X开学,通知开学时间延期N天,请问开学日期是星期几(星期日用7表示)?

1
2
let a = readline().split(' '), d = parseInt(a[0])+parseInt(a[1])
d%7==0?print(7):print(d%7)

19 helloworld

大家c语言的学的第一个程序应该就是输出hello world,我们知道每一个字符都有一个ASCII码,请你输出

hello world每一个字符的ASCII码+1对应的那个字符.比如a对应ASCII码的下一个字符是b.

1
print('ifmmp!xpsme')

20 a+b

输入两个十进制的a,b.输出a+b的十六进制表示.

1
2
let a = readline().split(" ")
print((parseInt(a[0])+parseInt(a[1])).toString(16))

21 整数的个位

输入一个整数a, 求个位数

1
print(parseInt(readline())%10)

22 整数的十位

输入一个整数,求其十位数

1
print(Math.floor(readline()/10)%10)

23 反向输出一个四位数

将一个四位数,反向输出。

1
print(readline().split('').reverse().join(''))

24 总成绩和平均分计算

依次输入一个学生的3科成绩,在屏幕上输出该学生的总成绩以及平均成绩。

1
2
let a = readline().split(' '), a1 = parseFloat(a[0]), a2 = parseFloat(a[1]), a3 = parseFloat(a[2])
print((a1+a2+a3).toFixed(2),((a1+a2+a3)/3).toFixed(2))

25 计算平均成绩

从键盘输入5个学生的成绩(整数),求他们的平均成绩(浮点数,保留一位小数)

1
2
let a = readline().split(' ')
print(((parseInt(a[0])+parseInt(a[1])+parseInt(a[2])+parseInt(a[3])+parseInt(a[4]))/5).toFixed(1))

26 牛牛学梯形

输入梯形的上边和下边边长,以及梯形的高度,求梯形的面积

1
2
let a = readline().split(" ")
print(((parseInt(a[0])+parseInt(a[1]))*parseInt(a[2])/2).toFixed(3))

27 牛牛学矩形

已知长方形的长和宽,求它的周长和面积。

1
2
let a = readline().split(" ")
print((parseInt(a[0])+parseInt(a[1]))*2+"\n"+parseInt(a[0])*parseInt(a[1]))

28 牛牛学立体

输入长方体的长、宽、高,计算它的表面积和体积

1
2
let a = readline().split(' ')
print(2*((parseInt(a[0])*parseInt(a[1]))+(parseInt(a[0])*parseInt(a[2]))+(parseInt(a[1])*parseInt(a[2])))+"\n"+parseInt(a[0])*parseInt(a[1])*parseInt(a[2]))

29 计算三角形的周长和面积

根据给出的三角形3条边a, b, c,计算三角形的周长和面积。

数据范围:0 < a,b,c < 10000

1
2
let a = readline().split(' '), a1 = parseInt(a[0]), a2 = parseInt(a[1]), a3 = parseInt(a[2]), p = (a1 + a2 + a3) / 2
print("circumference="+(a1+a2+a3).toFixed(2)+" area="+(Math.sqrt(p*(p-a1)*(p-a2)*(p-a3))).toFixed(2))

30 你能活多少秒

问题:一年约有 3.156×107 s,要求输入您的年龄,显示该年龄合多少秒。

数据范围:0 <= Age <= 200

1
print(readline()*3.156e7)

31 时间转换

给定秒数 seconds ,把秒转化成小时、分钟和秒。

数据范围:0 < s < 100000000

1
2
let num = readline()
print(Math.floor(num/3600), Math.floor(num/60%60), Math.floor(num%60))

32 温度转换

输入一个浮点数f, 表示华氏温度, 输出对应的摄氏温度c , c=5/9*(f-32)

1
print((5/9)*(readline()-32).toFixed(3))

33 计算机内存

我们可以看到题目描述的上方有一个空间限制32M, 在计算机中一个整数占据4个字节的内存, 1MB等于1024KB, 1KB等于1024B, 1B就代表1字节, 那么请问n MB的内存可以使用多少个整数呢?

1
print((readline()*1024*1024)/4)

34 成绩

牛牛最近学习了 C++入门课程,这门课程的总成绩计算方法是:

总成绩=作业成绩×20%+小测成绩×30%+期末考试成绩×50%

牛牛想知道,这门课程自己最终能得到多少分。

1
2
let arr = readline().split(' ')
print(arr[0]*.2+arr[1]*.3+arr[2]*.5)

35 KiKi的最高分

KiKi知道了大一三科比较重要课程的分数,包括:程序设计基础,高数,英语,请编程帮他找到三科中的最高分。

1
2
let a = readline().split(' ')
print(Math.max(a[0], a[1], a[2]))

36 组队比赛

Compute, Cubercsl, SuperSodaSea, Ybmj 准备组队参加 “科大讯飞” 赞助的 CrossFire 比赛。
科大讯飞股份有限公司成立于1999年,是亚太地区知名的智能语音和人工智能上市企业。自成立以来,长期从事语音及语言、自然语言理解、机器学习推理及自主学习等核心技术研究并保持了国际前沿技术水平;积极推动人工智能产品研发和行业应用落地,致力让机器”能听会说,能理解会思考”,用人工智能建设美好世界。
这场比赛需要两人一队组队参加,他们不知道怎么分组。已知他们的 CrossFire 分数分别为 a, b, c, d,现在想要把他们两两分为一队,使得他们的实力比较平均,也就是两队的实力差尽量小。
这里定义两队的实力差为每队的 CrossFire 分数之和的差值,现在他们想要知道这个实力差最小是多少。

1
2
let a = readline().split(' ').sort((a,b) => (a-b)), a1 = parseInt(a[0])+parseInt(a[3]), a2 = parseInt(a[1])+parseInt(a[2])
print(Math.abs(a1 - a2))

37 平方根

输入一个整数, 求它的平方根,输出答案往下取整

1
print(Math.floor(Math.sqrt(readline())))

39 使徒袭来

神秘的使徒袭击了第三新东京市,少男少女们驾驶着决战兵器EVA守护着人类的和平。

牛可乐是NERV特务机关的指挥官,他必须时刻了解牛牛/牛妹/牛能三人的战斗状态。现在牛可乐获得了这三位EVA驾驶员的战斗力之积,在保证三位驾驶员战斗力均为正实数的情况下,请你帮助牛可乐计算这三位驾驶员的战斗力之和最低是多少?

1
print((3*Math.cbrt(readline())).toFixed(3))

47 得不到的爱情

Chranos是个数学天才。

一天,有一个可爱的小女孩追求Chranos,他知道Chranos最喜欢当且仅当总质量为K克的时候的番茄炒蛋了。她希望通过美食俘获Chranos的胃,这样就一定可以和他在一起了吧!虽然小女孩有无限数量的食材,但是数学王国的番茄和蛋非常特殊,他们的质量分别为N克和M克。为了表现一颗完整的心、表达充足的爱意,所有的食材必须被用完。N和M都是正整数且互素,制作过程中既不会凭空增加质量,也不会凭空消失质量。

Chranos不希望小女孩打扰他学数学。他发现,并不是所有番茄炒蛋都是可以被制作出来的。他想找出最大的不可以被制作出的总质量K来拒绝小女孩,这样Chranos就可以永远和数学在一起了!

1
2
let a = readline().split(' ')
print(a[0]*a[1]-a[0]-a[1])