样例:
6
1 1 4 5 1 4
输出:
56 66 52 44 54 64
分析题意可以得知,就是接收一串数字,将数字按照下标每次向右移动一位(末尾循环到第一位),每次移动玩计算一下下标和数字的乘积且累加。
①接收数字量和数字
②将数字进行交换,先把末尾的保留,其余的交换完毕再赋值给第一位
③数字乘积累加
④每次累加完毕输出结果,注意格式
代码如下👇
static int[] arr1= new int[100];public static void main(String[] args) {Scanner scan=new Scanner(System.in);int n=scan.nextInt();arr1=new int[n+1];for (int i = 1; i <= n; i++) {arr1[i]=scan.nextInt();}for (int i = 1; i <= n; i++) {//自己分析jh1(arr1);//自己分析cj1(arr1);//自己分析暴力方法}scan.close();}public static void jh1(int []arr) {int temp=arr[arr.length-1];for (int i = arr.length-1; i >0; i--) {long sum=0;arr[i]=arr[i-1];}arr[1]=temp;}public static void cj1(int []arr) {long n=0;for (int i = 1; i <= arr.length-1; i++) {n+=arr[i]*i;}System.out.print(n+" ");}
进行优化👇
交给你啦!