`
com_xpp
  • 浏览: 376753 次
社区版块
存档分类
最新评论

数列极差问题(贪心) 求数据(一直Wrong)

 
阅读更多
/*日期:2011-10-21
作者:xiaosi
题目: 数列极差问题(贪心)
*/
#include<iostream>
#include<cstdio>
#include<stdlib.h>
#include<math.h>
using namespace std;
#define Maxint 999999
#define Minint -1
int progression[2001];
int progression1[2001];
int cmp(const void *a,const void *b)
{
return *(int *)a-*(int *)b;
}
int Max(int progression[],int n)
{
int i,j,a,b,max;
for(i=0;i<n-1;i++)//求max
{
a=0;b=1;
for(j=2;j<n;j++)
{
if(progression[j]<progression[a]||progression[j]<progression[b])
{
if(progression[a]>progression[b])
{
a=j;
}
else
{
b=j;
}
}
}
max=progression[a]*progression[b]+1;
progression[a]=max;
progression[b]=Maxint;
}
return max;
}
int Min(int progression[],int n)
{
int i,j,a,b,min;
for(i=n-2;i>=0;i--)//求min
{
a=n-2;b=n-1;
for(j=n-3;j>=0;j--)
{
if(progression[j]>progression[a]||progression[j]>progression[b])
{
if(progression[a]<progression[b])
{
a=j;
}
else
{
b=j;
}
}
}
min=progression[a]*progression[b]+1;
progression[a]=min;
progression[b]=Minint;
}
return min;
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int min,max,M,num,i,j;
for(i=0;i<n;i++)
{
scanf("%d",&progression[i]);
}
qsort(progression,n,sizeof(progression[0]),cmp);
for(i=0;i<n;i++)
{
progression1[i]=progression[i];
}
max=Max(progression,n);
//min=Min(progression1,n);
min=1;
for(i=n-1;i>=0;i--)
{
min=min*progression1[i]+1;
}
M=max-min;
if(M==0)
{
num=1;
}
else
{
num=(int)log10(M)+1;
}
printf("%d\n%d\n",num,M);
}
return 0;
}
分享到:
评论

相关推荐

    算法分析与设计数列极差问题

    在算法分析与设计中,数列极差问题通常是指寻找一个数列中的最大值与最小值之间的差值。这个问题在很多实际应用中都有所体现,例如数据处理、统计分析等。给定的代码示例中,作者提供了一个解决数列极差问题的C语言...

    vs2008下win32贪心法实现数列极差

    在实际问题中,比如数据分析、优化问题等领域,求解数列极差是常见的需求。而贪心算法在这种问题上可能比其他复杂算法更为高效,因为它在每一步都尽可能地做出局部最优选择,而不是一次性考虑所有可能的组合。 在...

    数列极差问题

    总结来说,数列极差问题是一个涉及贪心策略的算法问题,通过对数列进行特定操作并逐步减少元素,可以计算出最大值和最小值的极差。通过设计和实现对应的算法,我们可以有效地解决这类问题,并进行充分的测试以验证其...

    算法-数列极差(信息学奥赛一本通-T1427).rar

    1. **问题解决**:许多问题要求找到数列的极差,例如找出一组数据的最大值和最小值,或者计算某个特定数列的极差来评估数据的稳定性。 2. **算法设计**:在设计算法时,极差可以作为优化的依据。例如,在排序算法中...

    max-min.rar_M?n_数列极差_数列极差问题

    数列极差问题:给定n个正整数数列,进行如下操作:每次删去两个数 a和b,添加1个数 a*b+1,直到只剩1个数N。在所有的这样的N中,有1个最大Max的和最小的Min,M=Max-Min是极差,设计程序计算M。

    数列极差

    总结一下,"数列极差数代码"涉及到的是利用编程语言计算数列中数值的最大值与最小值之差,以理解数据的分散程度。在实际操作中,这可以通过简单的遍历和比较操作实现,而理解这个概念对于数据分析和算法设计是至关...

    贪心算法讲解

    贪心算法的基本思路: 从问题的某一个初始解出发逐步逼近给定的目标,以尽可能快的地求得更好的解。当达到算法中的某一步不能再继续前进时,算法停止。

    高三数学数列等差数列PPT学习教案.pptx

    * 等差数列在实际问题中的应用:等差数列可以用于解决实际问题,如计算总和、平均值等。 * 等差数列在数学建模中的应用:等差数列可以用于数学建模,如计算复杂系统的行为等。 五、数列的计算 * 数列的前n项和:Sn...

    c#等差数列计算

    这种数列在数学分析、物理问题解决以及程序设计中都有广泛应用。 等差数列的基本形式为:a_n = a_1 + (n - 1)d,其中a_1是首项,d是公差,n是项数,a_n是第n项。在C#控制台程序中,我们通常会通过用户输入或预设值...

    (学)高中数学数列放缩专题:用放缩法处理数列和不等问题.doc

    需要 求数列 {an} 的通项公式,并证明数列 {nb} 是等差数列。 通过对这些问题的解决,学生可以更好地理解高中学科数学数列放缩专题,并应用于解决实际问题。 高中学科数学数列放缩专题是高中学科数学的重要组成...

    2020_2021学年高中数学第一章数列2等差数列第3课时等差数列的前n项和练习含解析北师大版必修5

    通过对等差数列的定义、通项公式和前n项和公式的讲解,学生可以掌握等差数列的基本概念和计算方法,并应用于解决实际问题。 一、等差数列的定义 等差数列是指每一项与前一项的差是一个固定常数的数列。即an = an-1...

    等差数列JAVA

    在IT领域,尤其是在编程语言Java中,理解和应用数学概念如等差数列是十分重要的技能。根据提供的文件信息,我们来深入探讨等差数列在Java中的实现与应用。 ### 等差数列概念 等差数列,也称为算术数列,是一种数列...

    等差数列.doc

    等差数列 等差数列是数学中的一个重要概念,它是一种特殊的数列,满足每一项与前一项的差为常数。等差数列的定义是:an = an-1 + d,其中an是数列的第n项,d是公差。 等差数列的性质有很多,例如:前n项和Sn = (a1...

    数列中的奇偶项问题.pdf

    这类问题可能要求我们求特定项的值,或者是数列的前n项和。 5. 已知条件明确的奇偶项问题。 这类问题中,数列的某些特定项的关系是已知的,如奇数项与相邻偶数项的关系。我们需要证明数列的某些性质,比如数列的子...

    数列通项公式常用求法及构造法.doc

    数列通项公式的求法是数学中一个重要的知识点,主要应用于序列的分析与研究。在处理数列问题时,通常需要找到一个合适的通项公式来描述数列每一项的规律。以下是几种常见的数列通项公式求法及构造法: 1. 构造等差...

    高中数学数列等差数列的前n项和北师大必修PPT课件.pptx

    例题3则是利用等差数列的性质证明几何问题,展示了数学在不同领域中的交融。 课堂小结中提到的数学内容包括等差数列的基本概念、前n项和公式、以及公式的运用。通过这些内容的学习,学生可以锻炼抽象思维,提高逻辑...

    数列通项公式常见求法.pdf

    在高中数学中,我们学习了等差数列和等比数列,当题中已知数列是等差数列或等比数列,在求其通项公式时我们就可以直接利用等差或等比数列的公式来求通项,只需求得首项及公差公比。 1、等差数列公式 例如:已知等...

    北师大高中数学必修数列等差数列一PPT学习教案.pptx

    此外,等差数列的应用非常广泛,例如在求解序列问题、分析经济数据、物理学中的运动规律等。例如,数列8, 5, 2,... 是一个公差为-3的等差数列,可以求出第20项的值;而数列-5, -9, -13,... 可以用来判断-401是否是其...

    数列、等差数列复习.doc

    在题型二中,需证明数列满足等差数列的定义,并求出相应的递推公式和前n项和。此外,还涉及到利用等差数列的性质来解决更复杂的问题,如数列的单调性和函数特性。 课堂小结是对整个学习内容的回顾,强调从知识结构...

    2013届高考数学单元考点复习6 等差数列等差数列的性质

    等差数列的性质是解决等差数列问题的关键。等差数列具有以下几个重要的性质: 1. 等差中项性质:在等差数列中,若m+n=p+q,那么am、an和ap、aq这两对数的中项相等。即am+an=ap+aq。这意味着,除了首项和末项之外,...

Global site tag (gtag.js) - Google Analytics