一维数组算法!谁能算出?

xzzd_jokelin 2010-09-29 10:23:28
定义一个含有30个整型元素的数组,按顺序分别赋予从2开始的偶数;
然后按顺序每5个数求出一个平均值,放在另一个数组中并输出。
...全文
277 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
wugui414 2010-10-04
  • 打赏
  • 举报
回复
public class test {
static int[] i = new int[30];
static float[] j = new float[6];

public static void main(String[] args) {
i[0] = 2;
int a = 0;
int sum = 0;

for (int x = 1; x < 30; x++) {
i[x] = i[x - 1] + 2;
}

for (int y = a; y < a + 5; y++) {
if (y == 30) break;
sum += i[y];
if (y == a + 4) {
j[(a + 5) / 5 - 1] = sum;
sum = 0;
a = a + 5;
}
}

for (float b : j) {
System.out.println(b);
}


}

}
blue_ps 2010-10-04
  • 打赏
  • 举报
回复
差点连高中的等比、等差数列都给忘记了
等差数列的特性啊
久了没用就是生手啊
[Quote=引用 7 楼 clariones 的回复:]
又是脑筋急转弯:
。。。含有30个整型元素。。。,按顺序。。。。;
按顺序。。。每5个数。。。平均值,放在另一个数组中并输出。

5个数,都是偶数,n-4, n-2, n, n+2, n+4, 平均数是啥? 肯定是n呗

所以直接输出:

Java code

int totalLen=30;
int[] result = new int[totalLen/5];
fo……
[/Quote]
Myway890806 2010-10-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 leehomwong 的回复:]
Java code

public static void main(String[] args) {
int[] arr = new int[30];
int i,j;
for(i=0,j=2;i<arr.length;i++,j+=2){
arr[i]= j;
}

……
[/Quote]

哥们 你回去运行过吗 ?汗……
Myway890806 2010-10-03
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 canshui 的回复:]
引用 7 楼 clariones 的回复:
又是脑筋急转弯:
。。。含有30个整型元素。。。,按顺序。。。。;
按顺序。。。每5个数。。。平均值,放在另一个数组中并输出。

5个数,都是偶数,n-4, n-2, n, n+2, n+4, 平均数是啥? 肯定是n呗

所以直接输出:

Java code

int totalLen=30;
int[] result = new……
[/Quote]
specialco 2010-10-03
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 clariones 的回复:]

又是脑筋急转弯:
。。。含有30个整型元素。。。,按顺序。。。。;
按顺序。。。每5个数。。。平均值,放在另一个数组中并输出。

5个数,都是偶数,n-4, n-2, n, n+2, n+4, 平均数是啥? 肯定是n呗

所以直接输出:
Java code

int totalLen=30;
int[] result = new int[totalLen/5];
for(in……
[/Quote]

经典
千杯不醉-sen 2010-10-03
  • 打赏
  • 举报
回复
算法要的是经典。
这个不错(纯属数学题):n-4, n-2, n, n+2, n+4
littleJP 2010-10-03
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 clariones 的回复:]
又是脑筋急转弯:
。。。含有30个整型元素。。。,按顺序。。。。;
按顺序。。。每5个数。。。平均值,放在另一个数组中并输出。

5个数,都是偶数,n-4, n-2, n, n+2, n+4, 平均数是啥? 肯定是n呗

所以直接输出:

Java code

int totalLen=30;
int[] result = new int[totalLen/5];
fo……
[/Quote]
感觉这个挺厉害的 我都没想到
panrui277 2010-10-01
  • 打赏
  • 举报
回复
如果你不用上面那个就用这个:
import java.io.*;
public class Testmul {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int i=1,j=1;
while(true){
System.out.print(i+"*"+j+"="+i*j+" ");
if(i>j)
j++;

else
{i++;
j=1;
System.out.println("\n");
}
if(i==10)break;
}
}

}
tg008007x3 2010-09-30
  • 打赏
  • 举报
回复
思想可以再进一步,6个平均数分别为2+2*2 。。。2+2*2+2*10,2+2*2+2*15。。。2+2*2+2*25
这是个等差数列,等差比为2*5=10,求出分别为6,16,26,36,46,56。
茫茫大海 2010-09-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 clariones 的回复:]

又是脑筋急转弯:
。。。含有30个整型元素。。。,按顺序。。。。;
按顺序。。。每5个数。。。平均值,放在另一个数组中并输出。

5个数,都是偶数,n-4, n-2, n, n+2, n+4, 平均数是啥? 肯定是n呗

所以直接输出:
Java code

int totalLen=30;
int[] result = new int[totalLen/5];
for(in……
[/Quote]
对啊,这个想法好!值得思考!
clariones 2010-09-30
  • 打赏
  • 举报
回复
少写了一个*2, 因为每个位置都是偶数

int totalLen=30;
int[] result = new int[totalLen/5];
for(int i=0;i<totalLen;i+=5){
result [i] = i*2+2+4; <== 2 是首项,4是以首项为X的5个连续偶数的平均值=X+4
}

clariones 2010-09-30
  • 打赏
  • 举报
回复
又是脑筋急转弯:
。。。含有30个整型元素。。。,按顺序。。。。;
按顺序。。。每5个数。。。平均值,放在另一个数组中并输出。

5个数,都是偶数,n-4, n-2, n, n+2, n+4, 平均数是啥? 肯定是n呗

所以直接输出:

int totalLen=30;
int[] result = new int[totalLen/5];
for(int i=0;i<totalLen;i+=5){
result [i] = i+2+4; <== 2 是首项,4是以首项为X的5个连续偶数的平均值=X+4
}
24K純帥 2010-09-30
  • 打赏
  • 举报
回复

public static void main(String[] args) {
int[] arr = new int[30];
int i,j;
for(i=0,j=2;i<arr.length;i++,j+=2){
arr[i]= j;
}


int sum = 0;
int[] avrArr = new int[6];
for(i=0;i<6;i++){
for(j=0;i<5;j++){
sum = sum + arr[(i+1)*j];
avrArr[i]=sum/5;
sum = 0;
}
}

for(i=0;i<6;i++){
System.out.println("ans:"+avrArr[i]);
}
}
DB5155 2010-09-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 leehomwong 的回复:]

Java code

public static void main(String[] args) {
int[] arr = new int[30];
int i,j;
for(i=0,j=2;i<arr.length;i++,j+=2){
arr[i]= j;
}


……
[/Quote]

果然如此,不知道楼主这个题是为了干什么用的,搞这么绕
kubete 2010-09-30
  • 打赏
  • 举报
回复
呵呵,的确!~~
barsk 2010-09-30
  • 打赏
  • 举报
回复
高,实在是高!
canshui 2010-09-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 clariones 的回复:]
又是脑筋急转弯:
。。。含有30个整型元素。。。,按顺序。。。。;
按顺序。。。每5个数。。。平均值,放在另一个数组中并输出。

5个数,都是偶数,n-4, n-2, n, n+2, n+4, 平均数是啥? 肯定是n呗

所以直接输出:

Java code

int totalLen=30;
int[] result = new int[totalLen/5];
fo……
[/Quote]

呵呵, 有道理……
挑战惯性思维啊
uplady 2010-09-29
  • 打赏
  • 举报
回复
...是我这样理解的吗:

public int[] sort(int[] data){
int[] tmp = new int[data.length/5];
for(int j = 0; j < data.length/5; j++){
for(int i = 0; i < 5; i++){
tmp[j] = tmp[j] + data[5*j + i]/5;
}
}
return tmp;
}
  • 打赏
  • 举报
回复
楼上的写的不错
dddddz 2010-09-29
  • 打赏
  • 举报
回复

public static void main(String[] args) {
int[] arr = new int[30];
int i,j;
for(i=0,j=2;i<arr.length;i++,j+=2){
arr[i]= j;
}


int sum = 0;
int[] avrArr = new int[arr.length/5];
for(i=0;i<arr.length;i++){
sum = sum + arr[i];
if((i+1)%5 == 0){
avrArr[i/5]=sum/5;
sum = 0;
}
}

for(i=0;i<avrArr.length;i++){
System.out.println("ans:"+avrArr[i]);
}
}
加载更多回复(2)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧