当前位置:   article > 正文

牛牛施肥题_建立精准施肥模型的步骤与代码csdn

建立精准施肥模型的步骤与代码csdn

农场主牛牛开始用无人机给他的农田施肥,农田共有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
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63

如有错误,还请指正

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/713681
推荐阅读
相关标签
  

闽ICP备14008679号