有赞测试开发AC代码

不知道为啥选择题那么多C语言,都不会。。。
编程题还是比较简单的~

# 有赞第一题
# 求正整数的质因数,可以重复计数
# 12= 2*2*3, 质因数个数为3
n = int(input())
def is_prime(r):
    if r == 2:
        return True
    for i in range(2,r//2+1):
        if r%i == 0:
            return False
    return True

r = 2
count = 0
judge = True
while r<=n:
    if judge and n%r == 0:
        n = n//r
        count += 1
    else:
        r += 1
        judge = is_prime(r)
print(count)

# 有赞第二题
# 跳台阶, 每次可以跳1~n个,求方案数
n = int(input())
# dp[n] = dp[n-1]+dp[n-2]+ ....dp[0]+1
# dp[n-1] = dp[n-2],dp[n-3].....dp[0]+1
# dp[n] = 2*dp[n-1]

dp = [1 for i in range(n)]
for i in range(1,n):
    dp[i] = dp[i-1]*2
print(dp[-1])


# 有赞第三题
# 一个数可以表示成多个数之和,求这些数的乘积最大值
# 10 , 3*3*4 = 36
n = int(input())
dp = [0 for i in range(n+1)]
dp[1] = 1 # 不能再分了,再分就是0了
for i in range(2,n+1):
    for j in range(1,i//2+1):
        x = max(dp[j],j)
        y = max(dp[i-j],i-j)
        print(x,y)
        dp[i] = max(dp[i],x*y)
print(dp[-1])
#有赞##笔试题目#
全部评论
测开编程真的简单,,开发真的难…
点赞 回复 分享
发布于 2019-09-01 12:54

相关推荐

10-25 12:05
已编辑
湖南科技大学 Java
若梦难了:我有你这简历,已经大厂乱杀了
点赞 评论 收藏
分享
点赞 8 评论
分享
牛客网
牛客企业服务