牛牛施肥题

农场主牛牛开始用无人机给他的农田施肥,农田共有n行,无人机携带了m千克肥料,无人机的施肥方式为:
给第1行施1千克肥料;
给第2行施1千克肥料;

给第n-1行施1千克肥料;
给第n行施1千克肥料;

即每次给整个农田施一边肥料,无人机就会自动更改方向继续施肥直到无人机携带的肥料用完为止

现在牛牛想知道每行最终施了多少肥料
函数传入两个正整数n和m分别代表农田的行数和无人机携带的肥料数,你需要返回一个数组,假设数组为a,表示第i+1行被灌溉了多少千克的肥料

示例:
输入:4,6
输出:[1,2,2,1]

在这里插入图片描述

//思路:
//n行,m千克
//把无人机从第1行到返回来的第2行位置 设为一趟(每趟都是从第一行开始返回来的第二行位置,如上图所示)
//用肥料数除以一趟需要的肥料 得到无人机的趟数
//余数y为多余可洒的行数
//如果x == 0,则不够一趟
    //有m<=n和n<m<2n-2两种情况
//否则x > 0,
    //第一行和第n行的肥料数为x
    //第二行到第n-1行肥料数为2x
    //有y<=n和n<y<2n-2两种情况

public class Demo8 {
    public long[] FarmerNN(int n,long m){
        long[] arr = new long[n];
        long x = m/(2*n-2);
        long y = m%(2*n-2);
        if(x == 0){
            if(m<=n){
                for (int i = 0; i < m ; i++) {
                    arr[i] = 1;
                }
            }else{
                for (int i = 0; i < n ; i++) {
                    arr[i] = 1;
                }
                arr[0] = 1;
                arr[n-1] = 1;
                long num1 = m-n;
                for (int i = 0; i < num1 ; i++) {
                    arr[n-i-2] += 1;
                }
            }
        }else{//次数大于1回
            arr[0] = x;
            arr[n-1] = x;
            for (int i = 1; i < n-1 ; i++) {
                arr[i] = x*2;
            }
            if(y<=n){
                for (int i = 0; i < y ; i++) {
                    arr[i]+=1;
                }
            }else{
                for (int i = 0; i < n ; i++) {
                    arr[i]+=1;
                }
                long num2 = y-n;
                for (int i = 0; i < num2 ; i++) {
                    arr[n-i-2] += 1;
                }
            }
        }
        return arr;
    }

    public static void main(String[] args) {
        Demo8 demo8 = new Demo8();

        long []arr1 =  demo8.FarmerNN(6,29);
        System.out.println(Arrays.toString(arr1));
    }
}

如有错误,还请指正

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
华为农场施肥C试考察的是农场管理中的施肥技术。施肥对于农作物的生长发育和产量有着重要的影响。 首先,施肥可以提供作物所需的养分。植物生长需要各种营养元素,如氮、磷、钾等。合理施肥能够补充土壤中的养分,保证作物的正常生长和发育。C试可能考察的是不同作物对养分需求的区别,以及如何根据作物的需要进行施肥。 其次,施肥还可以调节土壤酸碱度。不同作物对土壤酸碱度有不同的要求。过酸或过碱的土壤会影响作物的吸收养分能力,导致作物生长异常。C试可能涉及如何通过施肥调节土壤酸碱度,使其适应作物的需求。 此外,施肥还可以改善土壤结构。在长期耕作下,土壤容易出现贫瘠和结构松散的问。有机肥和矿质肥的合理施用可以改善土壤的农学性质,提高土壤的保水保肥能力,增强土壤质量,有利于作物生长。C试可能涉及如何根据土壤性质和作物需求选择合适的施肥方式,以改善土壤结构。 最后,施肥还需要注意合理施用,以避免对环境造成不良影响。过量施肥会导致养分浪费,使养分流失到地下水或河流中,对水质和生态环境产生负面影响。C试可能考察的是如何根据作物需求和土壤养分状况进行精准施肥,以避免养分浪费和环境污染。 总之,华为农场施肥C试涉及到施肥技术、作物需求、土壤酸碱度、土壤结构改善以及环境保护等方面的知识。掌握这些知识可以帮助农场管理者科学施肥,提高作物产量和质量,同时保护环境。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值