我想为此操作编写程序,
I / p:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
O / P:1,3,6,10,15
在采访中我问过这个问题,我是这样做的,
class Num
{
public static void main(String args[])
{
int j=0,k=0,count=1;
int a[]={1,2,3,4,5,6,7,8,9,10,11};
for(int i=0;i<=(((a.length+2)/2)-k);i++)
{
k++;
count++;
System.out.println(a[j]);
j+=count;
}
}
}
它有效,但看起来有点乱,所以有任何系统的方式来做到这一点。以及进行此类操作的任何技巧。
答案 0 :(得分:1)
这个怎么样?不那么凌乱。
class Num
{
public static void main(String args[])
{
int input[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
int step = 1;
for(int i=0;i<input.length;i+=step)
{
System.out.println(input[i]);
step++;
}
}
}
答案 1 :(得分:0)
另一种方式。
class Num
{
int[] arr = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
int sum = 1, count = 0;
System.out.println(sum);
for(int i = 0; i < arr.length; i = count == 1 ? i : ++i) {
int bitmask = arr[i]<<1;
if (count==0) {
System.out.println(sum+=bitmask); count++;
}
else {
System.out.println(sum+=bitmask+1); count--;
}
}
}