c题特判,l==1 and r==1时输出 1 其余时候输出2为什么错了

import math

d,p=map(int,input().split())

q=int(input())

for _ in range(q):

l,r=map(int,input().split())

t=p//(math.gcd(d,p))

if p==1:

if l==1 and r==1:

print(1)

else:

print(2)

else:

if r-l+1>=t:

print(t)

else:

print(r-l+1)这个是错误代码,就错在了这个特判上

全部评论
p是1的时候就是 1 0 0 0 0 ,l=1并且r>1才输出2,其余情况都是1
2 回复 分享
发布于 06-08 21:38 河南

相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务