8.24蚂蚁笔试
💻题目:选择题20道左右(45分),编程题三题(10, 20, 25)
❓第1题:给定n,找满足2 * (a ** 2 + b ** 2) - 1 == n ** 2关系的a和b
这种题除非数学大佬一般人很难直接看出规律,先暴力枚举找规律,后面就会发现a = (n - 1) // 2,b=a+1
还有一个trick:用assert打测试样例
t = int(input())
for _ in range(t):
n = int(input())
if n == 1:
print(-1)
else:
a = (n - 1) // 2
b = a + 1
print(a, b)
assert 2 * (a ** 2 + b ** 2) - 1 == n ** 2, f"{a}, {b}, {n}"
❓第2题:跟着步骤来就行,牛客IDE函数补全比较慢,好在用的都是常规函数
❓第3题:不知道gcd是啥玩意,跳过了
#秋招笔面试记录#
❓第1题:给定n,找满足2 * (a ** 2 + b ** 2) - 1 == n ** 2关系的a和b
这种题除非数学大佬一般人很难直接看出规律,先暴力枚举找规律,后面就会发现a = (n - 1) // 2,b=a+1
还有一个trick:用assert打测试样例
t = int(input())
for _ in range(t):
n = int(input())
if n == 1:
print(-1)
else:
a = (n - 1) // 2
b = a + 1
print(a, b)
assert 2 * (a ** 2 + b ** 2) - 1 == n ** 2, f"{a}, {b}, {n}"
❓第2题:跟着步骤来就行,牛客IDE函数补全比较慢,好在用的都是常规函数
❓第3题:不知道gcd是啥玩意,跳过了
#秋招笔面试记录#
全部评论
assert妙用
相关推荐

点赞 评论 收藏
分享

点赞 评论 收藏
分享