关注
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
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 找工作能把i人逼成什么样 #
11726次浏览 155人参与
# 你认为工作的意义是什么 #
223208次浏览 1411人参与
# 0经验如何找实习? #
23962次浏览 416人参与
# 说说你知道的学历厂 #
369330次浏览 1327人参与
# 你今年做了几份实习? #
7896次浏览 127人参与
# 产品面经 #
238407次浏览 2099人参与
# 你开始找寒假实习了吗? #
13618次浏览 201人参与
# 大学最后一个寒假,我想…… #
71355次浏览 723人参与
# 大家每天通勤多久? #
63831次浏览 413人参与
# 你找工作经历过哪些骗局? #
8474次浏览 130人参与
# 大厂面试初体验 #
82888次浏览 378人参与
# 25年找工作是什么难度? #
13964次浏览 141人参与
# 实习越久越好,还是多多益善? #
16499次浏览 165人参与
# 一上班就想____,这正常吗? #
4439次浏览 89人参与
# 写简历别走弯路 #
870727次浏览 8699人参与
# 面试尴尬现场 #
203386次浏览 800人参与
# 字节出了豆包coding模型 #
6444次浏览 59人参与
# 什么样的公司千万别去 #
27066次浏览 143人参与
# 如何KTV领导 #
80320次浏览 521人参与
# 机械人晒出你的简历 #
144405次浏览 870人参与
海康威视公司福利 1407人发布