色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java連續(xù)正整數(shù)序列和

江奕云1年前7瀏覽0評論

Java連續(xù)正整數(shù)序列和指的是一個(gè)正整數(shù)序列中,相鄰的兩個(gè)數(shù)之和相等。比如1 2 3 4、 2 3 4 5、 4 5 6、 10 11 12等等。如何用Java代碼求出這些序列中,數(shù)值之和相同的連續(xù)正整數(shù)序列呢?下面的代碼可以幫助你實(shí)現(xiàn)這個(gè)功能。

public static void sumOfSequence(int sum) {
int small = 1;
int big = 2;
int middle = (1 + sum) / 2;
int curSum = small + big;
while (small< middle) {
if (curSum == sum) {
printSequence(small, big);
}
while (curSum >sum && small< middle) {
curSum -= small;
small++;
if (curSum == sum) {
printSequence(small, big);
}
}
big++;
curSum += big;
}
}

上面的代碼中,sum是要求的數(shù)值之和。我們可以通過調(diào)用sumOfSequence方法來得到數(shù)值之和為sum的連續(xù)正整數(shù)序列。

在方法內(nèi)部,我們先初始化small為1,big為2,curSum為small加big的和。然后在循環(huán)中,如果curSum等于sum,那么我們調(diào)用printSequence方法輸出這個(gè)序列。如果curSum大于sum,那么我們就將small加1,并且從curSum中減去small,進(jìn)入下一個(gè)循環(huán)。如果curSum小于sum,那么我們就將big加1,并且將big加入到curSum中。

public static void printSequence(int small, int big) {
for (int i = small; i<= big; i++) {
System.out.print(i + " ");
}
System.out.println();
}

上面的代碼是用來輸出一個(gè)連續(xù)正整數(shù)序列的。我們可以通過調(diào)用printSequence方法來輸出得到的連續(xù)正整數(shù)序列。

通過以上的代碼實(shí)現(xiàn),我們可以快速找出連續(xù)的正整數(shù)序列來滿足指定的數(shù)值之和。這在某些場合下是非常有用的。