样例:
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+" ");
}
进行优化👇
交给你啦!