迅雷2019秋招后台开发编程题题解

红黑积木求和

题目描述

有红黑两种颜色的方块积木,红色代表正数A,黑色代表负数B。选出17块积木排成一排,使得任意相邻7块积木之和都小于0。如何挑选才能使17块积木之和最大,最大值是多少?

输入

正数A,负数B

A和B绝对值小于10000

输出

积木之和的最大值

样例输入

10 -61

样例输出

28

思路

  1. 17个木块可以分为7 7 3
  2. 找到和为负数的最多正数的情况
  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;
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏专知

【干货】计算机视觉实战系列03——用Python做图像处理

【导读】专知成员Hui上一次为大家介绍Matplotlib的使用,包括绘图,绘制点和线,以及图像的轮廓和直方图,这一次为大家详细讲解Numpy工具包中的各种工具...

47510
来自专栏数据结构与算法

07:矩阵归零消减序列和

07:矩阵归零消减序列和 总时间限制: 1000ms 内存限制: 65536kB描述 给定一个n*n的矩阵(3 <= n <= 100,元素的值都是非负整数...

3976
来自专栏来自地球男人的部落格

浅谈Attention-based Model【源码篇】

源码不可能每一条都详尽解释,主要在一些关键步骤上加了一些注释和少许个人理解,如有不足之处,请予指正。 计划分为三个部分: 浅谈Attention-bas...

32610
来自专栏尾尾部落

[剑指offer] 数值的整数次方 [剑指offer] 数值的整数次方

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

833
来自专栏desperate633

LintCode 寻找缺失的数题目分析方法二 交换法

给出一个包含 0 .. N 中 N 个数的序列,找出0 .. N 中没有出现在序列中的那个数。

823
来自专栏Hadoop数据仓库

HAWQ + MADlib 玩转数据挖掘之(三)——向量

一、定义         这里不讨论向量严格的数学定义。在Madlib中,可以把向量简单理解为矩阵。矩阵是Madlib中数据的基本格式,当矩阵只有一维时,就是向...

24110
来自专栏10km的专栏

faster rcnn:assert (boxes[:, 2] >= boxes[:, 0]).all()分析塈VOC2007 xml坐标定义理解

在进行faster rcnn训练的时候,报了一个断言错误 File “/py-faster-rcnn/tools/../lib/datasets/imdb.p...

4585
来自专栏数据结构与算法

洛谷P2503 [HAOI2006]均分数据(模拟退火)

1950
来自专栏钱塘大数据

R语言的常用函数速查

一、基本 1.数据管理 vector:向量 numeric:数值型向量 logical:逻辑型向量character;字符型向量 list:列表 data....

3349
来自专栏C语言及其他语言

【每日一题】

笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:...

1092

扫码关注云+社区

领取腾讯云代金券