藍橋杯 算法訓練 連續正整數的和

問題描述
  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

#include<stdio.h>
int main()
{
	int i,n,j,s;
	scanf("%d",&n);
	for(i=1;i<n;i++)
	{
		s=0;j=i;
		while(s<=n)
		{
			s=s+j;
			if(s==n)
			{
				printf("%d %d\n",i,j);
			 } 
			j++;	
		}	
	}
	return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章