9.11网易雷火web后端笔试
投票
第二题给你一个坐标x,y。问从0,0像素点的左下角到x,y像素点的右上角经过多少个像素点。
大家做了几道题
```java
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
int x = in.nextInt();
int y = in.nextInt();
// RuntimeException runtimeException = new RuntimeException(x+" "+y);
// throw runtimeException;
if (x == y) {
System.out.println(x + 1);
return;
}
if (y > x) {
int temp = x;
x = y;
y = temp;
}
int gcd = get(x + 1, y + 1);
if (gcd == 1) {
System.out.println(x + y + 1);
} else {
int temp = (x + 1) / gcd - 1 + (y + 1) / gcd - 1 + 1;
System.out.println(temp * gcd);
}
}
static int get(int x, int y) {
if (y == 0) {
return x;
}
return get(y, x % y);
}
}
```
大家做了几道题
```java
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
int x = in.nextInt();
int y = in.nextInt();
// RuntimeException runtimeException = new RuntimeException(x+" "+y);
// throw runtimeException;
if (x == y) {
System.out.println(x + 1);
return;
}
if (y > x) {
int temp = x;
x = y;
y = temp;
}
int gcd = get(x + 1, y + 1);
if (gcd == 1) {
System.out.println(x + y + 1);
} else {
int temp = (x + 1) / gcd - 1 + (y + 1) / gcd - 1 + 1;
System.out.println(temp * gcd);
}
}
static int get(int x, int y) {
if (y == 0) {
return x;
}
return get(y, x % y);
}
}
```
全部评论
相关推荐
10-28 15:57
Java 蓝天__zz:要看你是哪个方向,目前我也在做搜索引擎这块儿。其实里面的方向还是很多的,工程和算法之分,搜前搜后等等。这个方向目前是比较成熟了,没有什么新的技术。
点赞 评论 收藏
分享