题目:
小Q定义了一种数列称为翻转数列:
给定整数n和m, 满足n能被2m整除。对于一串连续递增整数数列1, 2, 3, 4…, 每隔m个符号翻转一次, 最初符号为’-’;。
例如n = 8, m = 2, 数列就是: -1, -2, +3, +4, -5, -6, +7, +8.
而n = 4, m = 1, 数列就是: -1, +2, -3, + 4.
小Q现在希望你能帮他算算前n项和为多少。
输入:
8 2
输出:
8
代码:
public class ConvertStr {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int count = sc.nextInt();
int convert = sc.nextInt();
sc.close();
int[] numarray = new int[count];
for(int i=1;i<count+1;i++) {
numarray[i-1] = -i;
}
int k=0;
for(int j=0;j<count;j++) {
if(k<convert) {
k++;
}
else {
for(int i=j;i<convert+j;i++) {
numarray[i] = -numarray[i];
}
k=0;
j=j+convert-1;
}
}
for(int i=0;i<numarray.length;i++) {
System.out.println(numarray[i]);
}
int res=0;
for(int i=0;i<numarray.length;i++) {
res+=numarray[i];
}
System.out.println(res);
}
}