//输入一个正数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的连续正数序列(至少包含两个数),例如输入15,打印出连续3个序列1-5,4-6,7-8
最新推荐文章于 2020-08-14 14:59:44 发布