关注
nk题思路理解: 1.首先看题目给的条件,1<=(x,y)<=n ,x%y >= k 2.分为两大类,k==0时(x,y)取任何值都可以,这样的情况下总数count = n*n 3.k != 0时,由 x%y >= k 转换成 x = a*y + b,可知y肯定是大于k的,所以固定y,从y=k+1遍历到y=n,然后对每个y,a 可以取的值有[0,n/y),b可以取的值有[k,y),注意这里的区间都是左闭右开,所以count+=(n/y)*(y-k) 4.需要单独考虑的是a == n/y时的情况,如果此时n%y >= k,那么a可以取n/y,此时count需要再加上n%y-k+1 Java代码如下:
import java.util.Scanner; public class Main { public static void main(String[] args) {
Scanner in = new Scanner(System.in); int n = in.nextInt(); int k = in.nextInt(); long count = 0; if (k == 0) {
System.out.println(n*n);
} else { for (int y = k + 1; y <= n; y++) {
count += (n / y) * (y - k); if (n % y >= k) {
count += n % y - k + 1;
}
}
System.out.println(count); }
}
}
查看原帖
点赞 1
相关推荐
爱睡觉的冰箱哥:只有实习过了才知道学校里面有多象牙塔

点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 26届的你们有几段实习? #
19061次浏览 270人参与
# 你小时候最想从事什么职业 #
102631次浏览 1771人参与
# 你被哪些公司秒挂过? #
18365次浏览 181人参与
# 网申一定要掌握的小技巧 #
9606次浏览 65人参与
# 如何提高实习转正率? #
7454次浏览 133人参与
# 新凯来求职进展汇总 #
41004次浏览 108人参与
# 你认为哪些项目算烂大街? #
8121次浏览 196人参与
# 机械校招之路总结 #
92390次浏览 1889人参与
# 你后悔自己读研吗? #
8767次浏览 175人参与
# 你以为的实习VS真实的实习 #
11233次浏览 131人参与
# 月薪多少能在一线城市生存 #
10490次浏览 165人参与
# 腾讯工作体验 #
479827次浏览 3498人参与
# 找工作时的取与舍 #
81283次浏览 577人参与
# 最难的技术面是哪家公司? #
5858次浏览 57人参与
# 秋招拿一个offer可以躺平吗 #
144884次浏览 928人参与
# 安利/避雷我的专业 #
77658次浏览 526人参与
# 面试等了一周没回复,还有戏吗 #
137150次浏览 1229人参与
# 你想留在一线还是回老家? #
49994次浏览 513人参与
# 选择和努力,哪个更重要? #
86021次浏览 745人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
114855次浏览 799人参与