精华 谁帮忙讲讲今天京东JAVA第二题,一直60%(已解决)
发布于 2017-04-07 21:03 4325 次浏览 1 赞 最后一次编辑是 2017-04-07 21:20 来自 我要提问  
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		long n = scanner.nextLong();
		long k = scanner.nextLong();
		scanner.close();
		long result = 0;
		long x = 0;
		long r = 0;
		if (k == n) {
			System.out.println(1);
			return;
		}
		if (k == 1) {
			x = n / 3;
			r = n % 3;
			if (r == 0) {
				result = 2 * x;
			} else {
				result = 2 * x + 1;
			}
		} else{
			x = n / (k + 1);
			r = n % (k + 1);
			if (r == k) {
				result = x + 1;
			} else {
				result = x;
			}
		}

		System.out.println(result);
	}
}


按楼下大神的思路,已解决。



8 条回复

好像编程题各人不一样的吧。。。。

2017-04-07 21:04

朋友我们思路略像啊 我也是60%一直

2017-04-07 21:04

一样 一直60%

2017-04-07 21:04

我们题目不一样

2017-04-07 21:05

第二题非常简单,十行搞定,不如说是个数学问题,k,k+1,这样轮着来就行了,什么时候不满足了就可以退出了。

2017-04-07 21:05

也是一直60%。。。

2017-04-07 21:05

你看看10 2,按你的答案是3吧,实际是4:2,3,2,3.

不仅需要考虑1和k的组合,还要考虑k和k+1的组合

2017-04-07 21:08

使用k 1 k 1,相当于每次都是k+1个才能计算一次;

使用k k+1 k k+1,相当于每k+0.5个计算一次。

2017-04-07 21:25
1
添加回复
回到顶部