2019阿里巴巴在线编程题

本文介绍了一个数学家如何运用数字规律管理农场母猪繁殖,并通过算法解决双十一购物车商品选择问题,以达到最大价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:小明是一个数学家,他喜欢用数字给事物命名编号,他给自己编号为1,同时在2019年小明开办了一个农场,准备开始养母猪,他专门给农场的母猪用以下数列2,3,4,5,7,9,12,16,21,28,37,49,65,86,114,151...进行命名。假设农场的母猪永远不会死,小母猪出生后3年后成熟,成熟后从第三年开始每年只会生一只小母猪。第一年农场,有一只刚刚出生的小母猪和一只成熟的母猪(本年不再生小猪,下一年开始生小猪),并给他们编号为2和3。请问,第m只母猪编号为多少?其是哪一年出生的?小明还准备了1份礼物,专门颁给农场第1到m只的母猪颁奖,颁奖规则如下:选出第1到m只的母猪翻转编号(114编号翻转为411)为第k大的母猪进行颁奖,请问是第几只猪获奖?提示: f(n)=f(n-2)+f(n-3)

Java 1.8.0_66

请使用标准输入输出(System.in, System.out);已禁用图形、文件、网络、系统相关的操作,如java.lang.Process , javax.swing.JFrame , Runtime.getRuntime;不要自定义包名称,否则会报错,即不要添加package answer之类的语句;您可以写很多个类,但是必须有一个类名为Main,并且为public属性,并且Main为唯一的public class,Main类的里面必须包含一个名字为'main'的静态方法(函数),这个方法是程序的入口

时间限制: 2S (C/C++以外的语言为: 4 S) 内存限制: 128M (C/C++以外的语言为: 640 M)

输入:

输入两个参数半角逗号分隔m,k

输出:

输出三个数字半角逗号分隔第m只母猪编号,哪一年出生,第几只小猪获奖

输入范例:

20,3

输出范例:

465,2024,15

 

import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
​
public class Main {
​
/** 请完成下面这个函数,实现题目要求的功能 **/
 /** 当然,你也可以不按照这个模板来作答,完全按照自己的想法来 ^-^  **/
    static String calculate(int m, int k) {
​
​
    }
​
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        String[] line = in.nextLine().split(",");
        int m = Integer.valueOf(line[0]);
        int k = Integer.valueOf(line[1]);;
        System.out.println(calculate(m, k));
​
    }
}

 

二.小明在双十一晚会上抽奖赢得了一次天猫超市免单的机会,享受在一个包裹内最大体积V,最大重量M内免单假设商品i,体积Vi,重量Mi,库存Si,价格Pi目前天猫超市的商品分为生鲜水产(1)、食品酒水(2),美妆个护(3),居家生活(4)四大类生鲜水产不与美妆个护同包裹请你帮助小明在购物车里添置商品使得总价值最大

 

编译器版本:

 

Java 1.8.0_66

请使用标准输入输出(System.in, System.out);已禁用图形、文件、网络、系统相关的操作,如java.lang.Process , javax.swing.JFrame , Runtime.getRuntime;不要自定义包名称,否则会报错,即不要添加package answer之类的语句;您可以写很多个类,但是必须有一个类名为Main,并且为public属性,并且Main为唯一的public class,Main类的里面必须包含一个名字为'main'的静态方法(函数),这个方法是程序的入口

时间限制: 1S (C/C++以外的语言为: 3 S) 内存限制: 128M (C/C++以外的语言为: 640 M)

输入:

商品总种类n,包裹限定总体积v,包裹限定总重量m(接下来会有n行)商品1体积,商品1重量,商品1库存,商品1价格,商品1类型商品2体积,商品2重量,商品2库存,商品2价格,商品2类型商品3体积,商品3重量,商品3库存,商品3价格,商品3类型

输出:

购物车里商品的总价值

输入范例:

3,40,3010,10,10,10,113,10,12,11,33,4,6,5,3

输出范例:

33

 

import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
​
public class Main {
​
/** 请完成下面这个函数,实现题目要求的功能 **/
 /** 当然,你也可以不按照这个模板来作答,完全按照自己的想法来 ^-^  **/
   private static int totalPrice(int categoryCount, int totalVolume, int totalWeight, int[] volume, int[] weight,
                                  int[] stock, int[] price, int[] itemType) {
​
​
    }
public static void main(String[] args) {
   Scanner in = new Scanner(System.in);
        String[] line = in.nextLine().split(",");
        //总共商品种类
        int categoryCount = Integer.valueOf(line[0]);
        //快递体积
        int totalVolume = Integer.valueOf(line[1]);
        //快递重量
        int totalWeight = Integer.valueOf(line[2]);
​
        //物品体积
        int[] volume = new int[50];
        //重量
        int[] weight = new int[50];
        //件数
        int[] stock = new int[50];
        //价格
        int[] price = new int[50];
        //类型
        int[] itemType = new int[50];
​
        for (int i = 1; i <= categoryCount; i++) {
            line = in.nextLine().split(",");
            volume[i] = Integer.valueOf(line[0]);
            weight[i] = Integer.valueOf(line[1]);
            stock[i] = Integer.valueOf(line[2]);
            price[i] = Integer.valueOf(line[3]);
            itemType[i] = Integer.valueOf(line[4]);
        }
​
        in.close();
  
        System.out.println(totalPrice(categoryCount, totalVolume, totalWeight, volume, weight, stock, price, itemType));
​
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值