输入正数n,如何输出所有和为n的连续正数序列?
- 内容介绍
- 文章标签
- 相关推荐
本文共计463个文字,预计阅读时间需要2分钟。
javapackage com.test;
import java.util.ArrayList;import java.util.List;
public class Test1 { private static List list=new ArrayList();
/** * 输入一个正整数n,输出所有和为n的连续正整数序列 * @param n 输入的正整数 */ public static void printSequences(int n) { for (int i=1; i <=n; i++) { if (isSumOfSequence(i, n)) { list.add(i); } } for (int num : list) { System.out.print(num + ); } }
private static boolean isSumOfSequence(int start, int n) { int sum=0; for (int i=start; i <=n; i++) { sum +=i; if (sum==n) { return true; } } return false; }}
gistfile1.txtpackage com.test;
import java.util.ArrayList;
import java.util.List;
public class Test1 {
private static List
> list = new ArrayList<>();
/**
* 输入一个正数n,输出所有和为n连续正数序列
* @param n
*/
public static void jisuan(int n) {
int start = 1;
int end = 1;
int sum = 1;
while (start <= (n + 1) / 2) {
if (sum < n) {
end++;
sum = sum + end;
}
if (sum > n) {
sum = sum - start;
start++;
}
if (sum == n) {
for (int i = start; i <= end; i++) {
System.out.print(i + " ");
}
System.out.println();
end++;
sum = sum+end -start;
start++;
}
}
}
/**
* 输入一个正数n,输出所有和为n序列
* @param n
*/
public static void combiantion(int n) {
int[] arr = createSortedArr(n);
if (arr == null || arr.length == 0) {
return;
}
List
本文共计463个文字,预计阅读时间需要2分钟。
javapackage com.test;
import java.util.ArrayList;import java.util.List;
public class Test1 { private static List list=new ArrayList();
/** * 输入一个正整数n,输出所有和为n的连续正整数序列 * @param n 输入的正整数 */ public static void printSequences(int n) { for (int i=1; i <=n; i++) { if (isSumOfSequence(i, n)) { list.add(i); } } for (int num : list) { System.out.print(num + ); } }
private static boolean isSumOfSequence(int start, int n) { int sum=0; for (int i=start; i <=n; i++) { sum +=i; if (sum==n) { return true; } } return false; }}
gistfile1.txtpackage com.test;
import java.util.ArrayList;
import java.util.List;
public class Test1 {
private static List
> list = new ArrayList<>();
/**
* 输入一个正数n,输出所有和为n连续正数序列
* @param n
*/
public static void jisuan(int n) {
int start = 1;
int end = 1;
int sum = 1;
while (start <= (n + 1) / 2) {
if (sum < n) {
end++;
sum = sum + end;
}
if (sum > n) {
sum = sum - start;
start++;
}
if (sum == n) {
for (int i = start; i <= end; i++) {
System.out.print(i + " ");
}
System.out.println();
end++;
sum = sum+end -start;
start++;
}
}
}
/**
* 输入一个正数n,输出所有和为n序列
* @param n
*/
public static void combiantion(int n) {
int[] arr = createSortedArr(n);
if (arr == null || arr.length == 0) {
return;
}
List

