题解 | #牛牛去购物#

牛牛去购物

https://ac.nowcoder.com/acm/problem/247575

利用最大公倍数和最小公因数来减小枚举空间

from math import gcd
n,a,b = map(int,input().split())
c = gcd(a,b)
d = a*b//c
l = set()
for i in range(b//c):
    for j in range(a//c):
        temp = i*a+j*b
        if temp < d:
            l.add(temp)
n %= d
min1 = n
for i in l:
    if n-i >= 0:
        min1 = min(min1,n-i)
print(min1)

c是最大公因数,d是最小公倍数,l是个集合,来枚举。

全部评论

相关推荐

在看数据的傻狍子很忙碌:学生思维好重,而心很急,自己想想真的能直接做有难度的东西吗?任何错误都是需要人担责的,你实习生可以跑路,你的同事领导呢
点赞 评论 收藏
分享
03-26 13:44
南华大学 Java
在看面经的花生米很野蛮:这种情况下你当然要回答,你也是吗!!!!我超喜欢他的XXXXX
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务