为初学者研究了一天
#include <iostream>
using namespace std;
const int n =7;
void LongSeries (int a[])
{
int aa[n][n];
for (int i = 0; i != n; i++)
{
for (int j = i+1; j != n; j++)
{
aa[i][j] = a[j] - a[i];
}
}
int b[n][n] = {0};
int r = 0;
for (int m =0; m < n-1; m++)
{
for (int j = m+1; j < n; j++)
{
int tmp_row = j,tmp_col=j+1;
while ( (tmp_row< n-1)&&(tmp_col < n) )
{
if(aa[m][j] == aa[tmp_row][tmp_col])
{
tmp_row = tmp_col;
++tmp_col;
++b[m][j];//计数,等差数列的长度
}
else
++tmp_col;
}
}
}
int max = b[0][0];
int maxrow = 0, maxcol = 0;
for (int x = 0; x < n; x++)
{
for (int y =0; y < n; y++)
{
if (b[x][y] > max)
{
max = b[x][y];
maxrow = x;
maxcol = y;
}
}
}
for (int ii = 0; ii != b[maxrow][maxcol]+2; ii++)
{
cout<<a[maxrow]+ii*(aa[maxrow][maxcol])<<'/t';
}
cout<<endl;
}
int main()
{
int a[n]={0};
cout<<"请输入小于100的"<<n<<"个数字:"<<endl;
cin.clear();
for(int i=0; i!=n;++i)
cin>>a[i];
LongSeries (a);
return 0;
}