输出所有和为n的连续正数序列
程序员文章站
2022-07-15 12:23:10
...
比如给定一个正数15,输出结果应该是1 2 3 4 5 、 4 5 6 、 7 8 ,注意是连续正数序列
public class SumDivide{
public static void getAns(int n){
int min=1,sum=1,max=1;
while(min<n/2+1){
if(sum==n){
for(int k=min;k<=max;k++){
System.out.println(k+" ");
}
System.out.println();
sum=sum-min;
min++;
max++;
sum=sum+max;
}
if(sum>n){
sum=sum-min;
min++;
}else{
max++;
sum=sum+max;
}
}
}
public static void main(String[] args){
getAns(15);
}
}
}
推荐阅读
-
剑指offer41:所有和为S的连续正数序列,例如,有多少种连续的正数序列的和为100
-
和为S的连续正数序列
-
57、输出和为S的连续正数序列
-
输出所有和为S的连续正数序列
-
输出所有和为S的连续正数序列
-
输出所有和为n的连续正数序列
-
获取一个数的二进制序列中所有的偶数位和奇数位, 分别输出其二进制序列
-
C语言中的进制类型题目,获取一个数二进制序列中所有的奇数位和偶数位,分别输出二进制序列
-
第一行包含一个正整数n,表示老师给出的序列有n个数,接下来有n行,每行一个正整数k,为序列中每一个元素的值。(1 ≤ n ≤ 105,1 ≤ k ≤ n) 输出一行,为去重排序后的序列
-
1543:剑指offer面试题57 -II 和为s的连续正数序列