洛谷基础题练习3

1. 欢乐的跳

题目描述

一个 n 个元素的整数数组,如果数组两个连续元素之间差的绝对值包括了 [1,n-1] 之间的所有整数,则称之符合“欢乐的跳”,如数组 {1,4,2,3} 符合“欢乐的跳”,因为差的绝对值分别为:3,2,1。

给定一个数组,你的任务是判断该数组是否符合“欢乐的跳”。

输入格式

每组测试数据第一行以一个整数 n(1 ≤ n ≤ 1000) 开始,接下来 n 个空格隔开的在 [-108,108] 之间的整数。

输出格式

对于每组测试数据,输出一行若该数组符合“欢乐的跳”则输出 Jolly,否则输出 Not jolly

样例输入 #1

4 1 4 2 3

样例输出 #1

Jolly

样例输入 #2

5 1 4 2 -1 6

样例输出 #2

Not jolly
list1 = [int(i) for i in input().strip().split()]
n = list1[0]
arr = list1[1:]
list_abs = []
#  [1,n-1][1,n−1] 之间的所有整数
list2 = [i for i in range(1, n)]
# print(list2)
for i in range(1, n):
    # 与前一个元素的差的绝对值
    list_abs.append(abs(arr[i]-arr[i-1]))
# print(list_abs)
if sorted(list(set(list2))) == sorted(list(set(list_abs))):
    print('Jolly')
else:
    print('Not jolly')

2. 加减算式

输入格式

一行,包含一个字符串(字符串长度不超过60000)形式的加减法多项式(每一项数字范围为0-32767)。

输出格式

一个整数,为计算所得的结果(保证计算结果不会超过长整型范围)。

样例输入

1+2-3

样例输出

0
str1 = input().strip()
print(eval(str1))

3. 数字游戏

题目描述

小 K 同学向小 P 同学发送了一个长度为 8 的 01 字符串来玩数字游戏,小 P 同学想要知道字符串中究竟有多少个 1。

注意:01 字符串为每一个字符是 0 或者 1 的字符串,如“101”(不含双引号)为一个长度为 3 的 01 字符串。

输入格式

输入文件只有一行,一个长度为 8 的 01 字符串 s。

输出格式

输出文件只有一行,包含一个整数,即 01 字符串中字符 1 的个数。

样例输入 #1

00010100

样例输出 #1

2

样例输入 #2

11111111

样例输出 #2

8
str1 = input().strip()
print(str1.count('1'))

4. 面积

题目描述

Alice 有一个边长为 a 的正方形,Bob 有一个长宽分别为 b,c 的矩形,请你告诉他们俩谁的图形面积更大。

输入格式

仅一行三个正整数 a,b,c(1 ≤ a,b,c ≤109

输出格式

输出仅一行一个字符串,若正方形面积大则输出 Alice,否则输出 Bob

样例输入 #1

5 4 6

样例输出 #1

Alice

样例输入 #2

7 5 10

样例输出 #2

Bob
a, b, c = map(int, input().strip().split())
square = a * a  # 正方形面积
rectangle = b * c  # 长方形面积
if square > rectangle:
    print('Alice')
else:
    print('Bob')

5. 字母替换

题目描述

输入一个小写字母,输出其对应的大写字母。例如输入 q[回车] 时,会输出 Q。

样例输入

q

样例输出

Q
ch = input().strip()
print(chr(ord(ch) - 32))

6. 数字反转

题目描述

输入一个不小于 100 且小于 1000,同时包括小数点后一位的一个浮点数,例如 123.4 ,要求把这个数字翻转过来,变成 4.321 并输出。

输入格式

一行一个浮点数

输出格式

一行一个浮点数

样例输入

123.4

样例输出

4.321
num1, num2 = map(str, input().strip().split('.'))
print(f'{num2[::-1]}.{num1[::-1]}')
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦里逆天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值