关注
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
相关推荐
牛客热帖
更多
正在热议
更多
# 面试被问第一学历差时该怎么回答 #
97834次浏览 613人参与
# 你见过最离谱的招聘要求是什么? #
151285次浏览 943人参与
# 水滴春招 #
37263次浏览 590人参与
# 听劝,这个简历怎么改 #
23742次浏览 313人参与
# 你的房租占工资的比例是多少? #
18060次浏览 222人参与
# 顺丰求职进展汇总 #
41842次浏览 252人参与
# 你想留在一线还是回老家? #
17461次浏览 272人参与
# 互联网行业现在还值得去吗 #
2646次浏览 23人参与
# 嵌入式岗知多少 #
24275次浏览 289人参与
# 机械人的offer怎么选 #
119623次浏览 629人参与
# 面试被问“你的缺点是什么?”怎么答 #
14936次浏览 279人参与
# 第一份工作应该选高薪还是热爱? #
10709次浏览 115人参与
# 入职第四天,心情怎么样 #
13505次浏览 107人参与
# 牛友投递互助,不漏校招机会 #
233062次浏览 3245人参与
# 招银网络科技工作体验 #
16028次浏览 81人参与
# 0offer是寒冬太冷还是我太菜 #
1044285次浏览 8691人参与
# 租房找室友 #
8825次浏览 57人参与
# 机械/汽车制造公司岗位评价 #
9247次浏览 84人参与
# 诺瓦星云求职进展汇总 #
180990次浏览 1576人参与
# 运营每日一题 #
51101次浏览 448人参与
# 大城市找工作会更容易吗 #
5736次浏览 31人参与