/* 算法训练 连续正整数的和 问题描述 78这个数可以表示为连续正整数的和,1+2+3,18+19+20+21,25+26+27。 输入一个正整数 n(<=10000) 输出 m 行(n有m种表示法),每行是两个正整数a,b,表示a+(a+1)+...+b=n。 对于多种表示法,a小的方案先输出。 样例输入 78 样例输出 1 12 18 21 25 27 */ import java.util.Scanner; public class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for (int i = 1; i <= n; i++) { int t = 0; for (int j = i; j < n; j++) { if (t > n) break; else if (t == n) { System.out.println(i + " " + (j - 1)); } t = t + j; } } } }