首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

输入一个正整数n,输出全部和为n的连续整数序列

2012-10-13 
输入一个正整数n,输出所有和为n的连续整数序列思路:用两个变量记录一段区间,begin,end,sum表示该区间中所

输入一个正整数n,输出所有和为n的连续整数序列

思路:

用两个变量记录一段区间,begin,end,sum表示该区间中所有数据的和[begin,end),如何sum==n,那么就打印该区间,然后sum-=low,low++,如何sum<n,那么sum+=end,end++,如果sum>n,那么sum-=low,low++.

参考代码如下:

 

public void printSeq(int begin,int end){for(int i=begin;i<end;i++){System.out.print(i+" ");}System.out.println();}public void findSeq(int num){if(num<3)return;int sum=1;int begin=1;int end=2;int mid=num/2;while(begin<=mid){if(sum==num){printSeq(begin, end);sum-=begin;begin++;}if(sum<num){sum+=end;end++;}else if(sum>num){sum-=begin;begin++;}}}public static void main(String[] args){FindSumSequence find=new FindSumSequence();find.findSeq(15);}}

热点排行