输入一个正数s,打印出所有和为s的连续正数序列(至少包含两个数),例如输入15,打印出连续3个序列1-5,4-6,7-8
2017-10-06 09:56
537 查看
//输入一个正数s,打印出所有和为s的连续正数序列(至少包含两个数),例如输入15,打印出连续3个序列1-5,4-6,7-8 public static void main(String[] args) { int s=15; findContinueSequence(s); } private static void findContinueSequence(int s) { Boolean flag=false; //因为连续正数序列至少包含两个数,所以s大于等于3 if(s<3){ return; } int start=1; int end=2; int mid=(1+s)/2; int sum=start+end; while(start<mid){ if(sum==s){ printNum(start,end); }while(sum>s && start<mid){ sum-=start; start++; if(sum==s){ printNum(start, end); } } end++; sum+=end; } } private static void printNum(int start, int end) { for (int i = start; i <= end; i++) { System.out.print(i+" "); } System.out.println(); } } |
相关文章推荐
- 输入一个正数s,打印出所有和为s的连续正数序列(至少包含两个数)
- 输入一个正数n,输出所有和为n连续正数序列。例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。
- 面试题41_2 输入一个正数s,打印所有和为s的连续正数序列(至少两个数)
- 输入一个正数n,输出所有和为n连续正数序列。例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。
- 剑指Offer——输入正整数S,打印出所有和为S的连续正数序列(至少含有两个正数)
- 输入一个正数s,打印出所有和为s的连续正数序列
- 一个正整数有可能可以被表示为 m(m>=2) 个连续正整数之和,编写一个程序,输入一个正整数,然后找出符合这种要求的所有 连续正整数序列,若不存在这种序列,则打印None。
- 输入一个正数 n,输出所有和为 n 的连续正数序列 [No. 25]
- 输入整形数组,数组里有正数也有负数,数组中一个或连续的多个整数组成数组的子数组,求所有子数组中和的最大值 ,例如输入的数组为{1,-2,3,10,-4,7,2,-5}和最大的子数组为{3,10,
- 输入一个正数n,输出所有和为n 连续正数序列
- 输入一个正数n,输出所有和为n连续正数序列。
- 打印所有和为s的连续正整数序列(至少含两个数)
- 剑指off-输入s打印所有和为s的连续正数序列
- 【算法学习-01】 输入一个正数 n,输出所有和为 n 连续正数序列。
- 输入一个正数n,输出所有和为n连续正数序列。
- 一个正整数有可能可以表示为n(n>=2)个连续的正整数之和,如:15=1+2+3+4+5,15=4+5+6,15=7+8 请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。
- 输入一个正数n,输出所有和为n连续正数序列。
- 输入一个正数n,输出所有和为n连续正数序列
- 输入一个正数n,输出所有和为n连续正数序列。
- 算法习题51:输入一个正数n,输出所有和为n连续正数序列