1 简单模拟 8题
sy54: 3N+1猜想 简单
https://sunnywhy.com/sfbj/3/1/54
3N + 1猜想:
给定一个正整数 N,如果它是偶数,那么让它除以 2;如果它是奇数,那么让它先乘 3 加 1 再除以 2。这样一直下去,最终总能在某一步得到N = 1。
给定一个正整数 N,问需要多少步可以让 N 等于 1。
输入描述
一个正整数 N(
输出描述
输出让 N 等于 1 的步数。
样例1
输入
3输出
5解释
3 => 5 => 8 => 4 => 2 => 1
n = int(input())
cnt = 0
while n != 1:
if n % 2 == 0:
n //= 2
cnt += 1
continue
else:
n *= 3
n += 1
n //= 2
cnt += 1
print(cnt)sy55: 判断三角形 简单
https://sunnywhy.com/sfbj/3/1/55
如果三条边A、B、C的长度同时满足A + B > C、A + C > B、B + C > A,那么这三条边可以组成一个三角形。
给定三条边的长度,问这三条边是否能组成一个三角形。
输入描述
三个正整数A、B、C(
输出描述
如果可以组成三角形,那么输出YES,否则输出NO。
样例1
输入
3 4 5输出
YES样例2
输入
1 1 2输出
NOa,b,c = map(int, input().split())
if a+b>c and a+c>b and b+c>a:
print("YES")
else:
print("NO")sy56: 单调递增序列 简单
https://sunnywhy.com/sfbj/3/1/56
给定n个整数的序列
输入描述
第一行为一个正整数(
第二行为用空格隔开的个整数(
输出描述
如果是单调递增序列,那么输出YES,否则输出NO。
样例1
输入
5
1 3 5 5 9输出
YES样例2
输入
5
1 3 5 4 9输出
NOdef is_sorted(a):
for i in range(1, len(a)):
if a[i] < a[i-1]:
return False
return True
input()
a = list(map(int, input().split()))
if is_sorted(a):
print('YES')
else:
print('NO')sy57: 数列奇数和 简单
https://sunnywhy.com/sfbj/3/1/57
给定n个整数的序列
输入描述
第一行为一个正整数 n(
第二行为用空格隔开的个整数(
输出描述
数列中所有奇数的和。
样例1
输入
5
5 8 7 6 2输出
12def sum_odd(a):
s = 0
for i in range(len(a)):
if a[i] % 2 == 1:
s += a[i]
return s
input()
a = list(map(int, input().split()))
print(sum_odd(a))sy58: 三位数 简单
https://sunnywhy.com/sfbj/3/1/58
给定一个三位数n,输出它的百位、十位、个位。
输入描述
一个正整数 n(
输出描述
在一行中先后输出的百位、十位、个位,中间用空格隔开,行末不允许有多余空格。
样例1
输入
153输出
1 5 3n = input()
print(*list(n))sy59: 水仙花数 简单
https://sunnywhy.com/sfbj/3/1/59
如果一个三位数 n 的各位数字的立方和等于 n,那么称 n 为水仙花数。例如
给定一个正整数,判断这个数是否是水仙花数。
输入描述
一个正整数 n(
输出描述
如果是水仙花数,那么输出YES,否则输出NO。
样例1
输入
153输出
YES样例2
输入
666输出
NOn = input()
numbers = map(int, list(n))
cubed = map(lambda x: x**3, numbers)
total = sum(cubed)
if int(n) == total:
print('YES')
else:
print('NO')sy60: 水仙花数II 简单
https://sunnywhy.com/sfbj/3/1/60
如果一个三位数 n 的各位数字的立方和等于 n,那么称 n 为水仙花数。例如
给定两个正整数a、b,输出在闭区间[a,b]内的所有水仙花数。
输入描述
两个正整数a、b(
输出描述
在一行里输出闭区间内的所有水仙花数,多个水仙花数按从小到大的顺序输出,中间用空格隔开,行末不允许有多余的空格。如果区间内没有水仙花数,那么输出NO。
样例1
输入
360 380输出
370 371样例2
输入
350 360输出
NOdef sum_cubes(n):
numbers = map(int, list(n))
cubed = map(lambda x: x**3, numbers)
total = sum(cubed)
return total
a,b = map(int, input().split())
ans = []
for i in range(a,b+1):
if i == sum_cubes(str(i)):
ans.append(i)
if len(ans) == 0:
print("NO")
else:
print(" ".join(map(str, ans)))sy61: 2的幂 简单
https://sunnywhy.com/sfbj/3/1/61
给定一个正整数n,求
提示:
输入描述
一个正整数 n(
输出描述
输出
样例1
输入
3输出
8n = int(input())
print(2**n % 1007)