迅雷2019秋招后台开发编程题题解
红黑积木求和
题目描述#
有红黑两种颜色的方块积木,红色代表正数A,黑色代表负数B。选出17块积木排成一排,使得任意相邻7块积木之和都小于0。如何挑选才能使17块积木之和最大,最大值是多少?
输入
正数A,负数B
A和B绝对值小于10000
输出
积木之和的最大值
样例输入
10 -61
样例输出
28
思路#
- 17个木块可以分为7 7 3
- 找到和为负数的最多正数的情况
- 保证2的情况下,使最后的 3 个正数最多。
代码实现#
package xunlei;
import java.util.Scanner;
/**
* 有红黑两种颜色的方块积木,红色代表正数A,黑色代表负数B。选出17块积木排成一排,使得任意相邻7块积木之和都小于0。如何挑选才能使17块积木之和最大,最大值是多少?
*/
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int i;
for (i = 1; i <= 7; i++) {
if (b * i + a * (7 - i) < 0) {
break;
}
}
int res;
if ((7 - i) < 3) {
res = (7 - i) * a + (3 - (7 - i)) * b + (b * i + a * (7 - i)) * 2;
} else {
res = 3 * a + (b * i + a * (7 - i)) * 2;
}
System.out.println(res);
}
}
计算勾股数
题目描述#
勾股数,是由三个正整数组成的数组;能符合勾股定理 a * a + b * b = c * c , (a, b, c) 的正整数解。如果 (a, b, c) 是勾股数,它们的正整数倍数,也是勾股数。如果 (a, b, c) 互质,它们就称为素勾股数。给定正整数N,计算出小于或等于N的素勾股数个数。(0 < a <= b <= c <= N)
输入
正整数N
输出
小于或等于N的素勾股数个数
(0 < a <= b <= c <= N)
样例输入
10
样例输出
1
思路#
勾股的另种写法是 a = m * m - n * n ,b = 2 * m * n, c = m * m + n * n ,那么a * a + b * b = c * c,那么只要保证m和n互质,并且m和n至少有一个是偶数,那么a,b,c的最大公因数是1,a,b,c互质。
代码实现#
package xunlei;
import java.util.Scanner;
public class Main2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long N = sc.nextLong();
int m = (int) Math.floor(Math.sqrt(N));
int res = 0;
for (int i = 1; i < m + 1; i++) {
for (int j = i + 1; j < m + 1; j += 2) {
long c = j * j + i * i;
if (c <= N && gcd(j, i) == 1) {
res++;
} else if (c > N) {
break;
}
}
}
System.out.println(res);
}
private static int gcd(int x, int y) {
return (x % y != 0) ? gcd(y, x % y) : y;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?