c++编程练习|求一个集合或者数组的所有子集的,最大值,最小值,集合元素个数,极差等问题。


集合问题

  • 题目描述
    • (1)求集合{1,4,2000}的体积,以及其所有子集的最大值,最小值,元素个数,面积。
    • (2)求数组a[3]={1,4,2000}的体积,以及其所有子数组的最大值,最小值,区间长度,面积。

题目描述 我们
定义一个集合的最大值与最小值的差为这个集合的极差
定义集合的极差与集合元素个数的乘积为本集合的面积
定义一个集合所有真子集的面积之和为该集合的体积
我们
定义一个数组的最大值与最小值的差为这个数组的极差
若数组元素大于等于2,定义数组的极差与数组长度的乘积为本数组的面积
若数组元素大于等于2,定义数组中任意n个连续的数(n大于等于2)组成的新数组为该数组的一个子数组
若数组元素大于等于2,定义一个数组所有子数组的面积之和为该集合的体积
注意:因为下面的题目可能计算结果很大,所以对结果进行模1000000007运算。
(1)求集合{1,4,2000}的体积,以及其所有子集的最大值,最小值,元素个数,面积。
#include #include using namespace std; int f(int *a,int *t,int n,int m,int sum,int max,int min,int cha,int len,int suml) { cha=0; len=0; suml=0; sum = sum % 1000000007; if(n==m) { //cout<<<"{"; for(int i=0; i>n; a=new int [n]; t=new int [n]; for(int i=0; i>a[i]; cout<<"所求集合的所有子集:\n"; int sumcout = f(a,t,0,n,0,0,0,0,0,0); cout<<"-------------------------------\n"; cout<<"所求集合体积: "<; }

c++编程练习|求一个集合或者数组的所有子集的,最大值,最小值,集合元素个数,极差等问题。
文章图片

(2)求数组a[3]={1,4,2000}的体积,以及其所有子数组的最大值,最小值,区间长度,面积。
#include #include using namespace std; int f(int *a,int len) { int sum=0; int nl=len; while(nl>1) {for(int i=0; i<=len-nl; i++) { int cha=0; int max,min; int suml=0; cout<<"{"; for(int j=i; j>n; a=new int [n]; for(int i=0; i>a[i]; int sumcout = f(a,n); cout<<"所求体积:"<; }

【c++编程练习|求一个集合或者数组的所有子集的,最大值,最小值,集合元素个数,极差等问题。】c++编程练习|求一个集合或者数组的所有子集的,最大值,最小值,集合元素个数,极差等问题。
文章图片

    推荐阅读