java编程:数列问题?

Python030

java编程:数列问题?,第1张

public class mainclass {

static class Test {

//需要求和的索引

int sumID = 45

//需要求值的索引

int valueID = 42

//需要计算的次数

int needC = 0

public Test(int sumIndex, int valueIndex) {

sumID = sumIndex

valueID = valueIndex

if (sumIndex >valueIndex) {

needC = sumIndex

} else {

needC = valueIndex

}

}

long v1 = 0

long v2 = 1

long v3 = 1

long Sum = 0

long Value = 0

private void fun() {

if (needC <3) {

long[] values = {v1, v2, v3}

for (int i = 0i <needCi++) {

if (i <= sumID) {

Sum += values[i]

}

if (i == valueID) {

Value = values[i]

}

}

} else {

for (int m = 3m <= needCm++) {

long v = v1 + v2 + v3

System.out.println("第" + String.valueOf(m) + "项值为:" + String.valueOf(v))

v1 = v2

v2 = v3

v3 = v

if (m == valueID) {

Value = v

}

if (m <= sumID) {

Sum += v

}

}

}

}

public void output() {

fun()

System.out.println("前" + String.valueOf(sumID) + "和为:" + String.valueOf(Sum) + ",第"

+ String.valueOf(valueID) + "项值为:" + String.valueOf(Value))

}

}

public static void main(String[] args) {

Test tt = new Test(45, 42)

tt.output()

}

}

这种题目千万不要用递归函数解答,这样就完了,考察的是规律不是机械!!!

public static void main (String [] arg) {

int m=2,n=10

double result=0.00

for (int i =mi <=ni++) {

result+=(i%2==0?1:-1)/(double)i

}

System.out.println(result)

}

public class Test

{public void calSum()

{long num = 9// 数列的各个项,后面会改变其值,使用 long, 因为 int 会超范围

long sum = num// 存放数列和,使用 long, 因为 int 会超范围

// 因为只到9999999999,所以只用 9 次

for (int i = 0i <9i++)

{num = num * 10 + 9// 根据数列当前项得到下一项的值

sum += num// 计算目前为止所有数的和}

System.out.println("9+99+999+...+9999999999=" + sum)}

public static void main(String[] argv)

{Test test = new Test()

test.calSum()}}

或者public class Test{ public void calSum(){ long num = 9// 数列的各个项,后面会改变其值,使用 long, 因为 int 会超范围long sum = num // 存放数列和,使用 long, 因为 int 会超范围 // 因为只到9999999999,所以只用 9 次for (int i = 0i <9i++){num = num * 10 + 9 // 根据数列当前项得到下一项的值sum += num // 计算目前为止所有数的和 } System.out.println("9+99+999+...+9999999999=" + sum) } public static void main(String[] argv){Test test = new Test()test.calSum()}