数列极差问题(the problem of sequence biggest difference)

#include <iostream>
#include <string>
#include <list>  //we use the list  container , because it is easy to sort and get the biggest number and smallest number
using namespace std;

void sequenceBiggestLess(list<int> a, list<int> b)
{
a.sort();
b.sort();
int temp1, temp2;
while(a.size()!=1)
{
//get the biggest number
temp1 = a.front();
a.pop_front();
temp2 = a.front();
a.pop_front();
temp1 = temp1 * temp2 + 1;
a.push_back(temp1);
a.sort();

//get the smallest number
temp1 = b.back();
b.pop_back();
temp2 = b.back();
b.pop_back();
temp1 = temp1 * temp2 + 1;
b.push_back(temp1);
b.sort();
}
temp1 = a.front();
temp2 = b.front();
cout << "biggest value: "<< temp1-temp2;
}


int main()
{
list<int> a, b;
cout << "please input the numbers you wanted to calculate\n enter the number of numbers\n";
int n;
cin >> n;
int temp;
for(int i=0; i<n; i++)
{
cin >> temp;
a.push_back(temp);
b.push_back(temp);
}
sequenceBiggestLess(a, b);
return 0;
}

posted @ 2017-09-22 17:37  diamondDemand  阅读(243)  评论(0)    收藏  举报