表正整数n为连续整数的条件和方法2011-06-27 BlogJava qiyadeng今天看到关于一个整数表示为n个连续整数和的问题。搜索了下找到如下文章:还搜索到程序的实现:http://blog.csdn.net/Solstice/archive/2006/09/13/1217700.aspxhttp://squall.cs.ntou.edu.tw/cprog/Assignments/99Fall/FindGivenSum.htmlhttp://blog.chinaunix.net/u2/76292/showart_1359876.html(这个是不正确的)我也简单的实现了下:(g++编译,主要思路是利用等差数列求和公式n=(a+a+k)*(k+2)/2列举k,找到合适的a)#include <iostream> #include <math.h> using namespace std; int main(){ int n; cout<<"input n:"<<endl; cin>>n; int maxk=(int)sqrt((double)n*2); int flag = 0; //cout<<"maxk="<<maxk<<endl; //for(int i=1;i<maxk+1;i++){ for(int i=maxk+1;i>0;i--){ double a = n/(double)(i+1)-i/(double)2; //cout<<"a="<<a<<endl;