Magic


私信TA

用户名:dotcpp0620805

访问量:301

签 名:

等  级
排  名 5693
经  验 1504
参赛次数 1
文章发表 2
年  龄 0
在职情况 学生
学  校 三明学院
专  业 计科

  自我简介:

TA的其他文章

解题思路:

如果换成动态的n,不指定5   可能 6 7 8 9

用数组来存储数据,先判断加减后是否超过左边界或者右边界

如果超出进行数组下标调整

注意事项:

参考代码:

import java.util.Scanner;

import java.util.*;

public class Main {

   public static void main(String[] args) {

       Scanner sc = new Scanner(System.in);

       while(sc.hasNext()) {

        //int n=sc.nextInt();

        int []a=new int[5];//n

        for(int i=0;i<a.length;i++) {

        a[i]=sc.nextInt();

        }

        for(int i=0;i<a.length;i++) {

        if(i+1<=4&&i-1>=0) {//中间阈

        int ss=a[i]/3;

        a[i]=ss;

        a[i+1]+=ss;

        a[i-1]+=ss;

        }else if(i-1<0){//是否超出左界

        int ss=a[i]/3;

        a[i]=ss;

        a[i+1]+=ss;

        a[a.length-i-1]+=ss;

        }else {//是否超出右界


        int ss=a[i]/3;

        a[i]=ss;

        a[i-1]+=ss;

        a[a.length-i-1]+=ss;

        }

        }

        for(int i=0;i<a.length;i++) {

        System.out.printf("%5d",a[i]);

        }

       }

   }

}



 

0.0分

3 人评分

  评论区

  • «
  • »