组合数学实验
- 格式:doc
- 大小:145.00 KB
- 文档页数:14
数学趣味数学实验方案一、实验目的通过趣味的数学实验,激发学生对数学的兴趣,提高他们的数学思维能力和创造力,培养他们的合作与团队意识。
二、实验材料1. 彩色球若干(颜色、数量根据实际情况确定)2. 实验记录表格(供学生记录实验数据)三、实验步骤1. 实验前准备a. 将彩色球均匀地分成若干组,每组球颜色相同,数量适当(建议每组5至10个球)。
b. 给每个学生或小组发放实验记录表格,用于记录实验过程和结果。
2. 实验一:球的排列组合a. 要求每个小组从给定的球中选择若干个球,进行排列组合。
例如,给定5个彩色球,小组可以选择其中3个球进行排列组合,计算共有多少种情况,并记录在实验记录表格中。
b. 每个小组完成排列组合后,进行结果比较和讨论,学生们自己发现规律。
3. 实验二:球的计数与概率a. 要求每个小组从给定的球中选择若干个球,记录其中特定颜色球(如红球)的数量,并计算其在选择过程中出现的概率。
b. 学生们通过实验结果的比较和讨论,理解和掌握概率的概念和计算方法。
4. 实验三:球的重量和容积a. 要求每个小组从给定的球中选择若干个球,使用天平测量球的重量,并使用容器测量球的体积。
b. 学生们通过测量结果的分析和比较,探索球的重量和容积之间的关系,培养他们的观察和分析能力。
5. 实验四:球的图案和对称性a. 要求每个小组从给定的球中选择若干个球,观察球上的图案和设计,并讨论球的对称性。
b. 学生们通过观察和讨论,发现球的图案与对称性之间的联系,提高他们的空间想象和几何思维能力。
6. 实验五:球的体验与实际应用a. 要求每个小组自由进行球的实验,并创造出新的实验方式和结果呈现方式。
b. 学生们通过自主设计和探索,将数学知识与实际应用相结合,培养他们的创造力和创新精神。
四、实验总结1. 学生们根据实验记录表格和实验过程,撰写实验总结报告。
2. 报告内容包括实验目的、实验步骤、实验结果分析、实验心得和感悟等。
幼儿园数学教学《趣味组合数学》教案主题:趣味组合数学教学目标:1.认识数学中的组合数和排列数的概念。
2.了解组合数和排列数的计算方法。
3.培养幼儿的分析和计算能力,提高幼儿的数学逻辑思维能力。
教学内容:一、组合数1.组合数的概念:从n个元素中取出r个元素的组合数被称为C(n,r)。
其中,n表示总共有n个元素,r表示取出的元素个数。
2.常用的计算组合数的公式如下:C(n,r)=n!/(r!(n-r)!)C(n,r)=C(n,n-r)3.举例说明:从5个数中取出3个数,有多少种取法?C(5,3)=5!/(3!×2!)=5×4×3/(3×2×1)=10二、排列数1.排列数的概念:从n个元素中取出r个元素进行排列,称之为P(n,r)。
其中,n表示总共有n个元素,r表示取出的元素个数。
2.计算排列数的公式如下:P(n,r)=n×(n-1)×(n-2)×...×(n-r+1)P(n,n)=n!3.举例说明:从5个球中取3个球,把它们排成一排,有多少种排法?P(5,3)=5×4×3=60教学过程:一、为了更好地引入组合数和排列数的概念,并让幼儿更好地理解,我们可以采用实例演示,如:老师向幼儿提问:“你们今天穿的衣服都不一样,这说明了什么?”幼儿们回答:“我们每个人的衣服都是独一无二的。
”老师继续问:“那我们如果要游戏,让大家按照自己的喜好选出两件不同的衣服组合搭配,你们能够算出来一共有多少组搭配吗?”幼儿们一脸疑惑地摇摇头。
这时老师就可以引入组合数的概念,并进行举例演示,通过排列组合示例,让幼儿掌握组合数的基础知识。
二、组合数和排列数的计算方法并不简单,特别是对于幼儿而言更是不易理解。
因此,我们需要采用互动形式,并且适当降低难度,让幼儿能够通过游戏体验,更好地理解组合数和排列数的计算方法,并在游戏中提高他们的计算能力。
组合数学实验报告班级:网络091班姓名:郭静学号:092566实验一 Fibonacci 数非递归解一、实验题目Fibonacci 数列n f f f ,,,21 的定义如下:⎪⎩⎪⎨⎧>+===--2211121n f f n n f n n n请用递归方法和非递归方法求解该问题,各编写一个函数,要求函数接受n 的值,返回n f 的值。
二、实验要求1 分别求100=n 的情况。
2 对比两个程序的执行时间,然后分别对两种算法进行复杂性分析。
三、实验源程序#include <iostream>#include <time.h> using namespace std;// 递归方式求解Fibonacci 数列 double methodOneFibonacci(int n) { double result; if(n==1 || n==2) { result=1; } else { result=methodOneFibonacci(n-2)+methodOneFibonacci(n-1); } return result; }// 非递归方式求解Fibonacci 数列 double methodTwoFibonacci(int n) { double result; double f1=1; double f2=1;if(n==1 || n==2){result=1;}else{while(n-2){result=f1+f2;f1=f2;f2=result;n--;}}return result;}double (*fibonacci)(int n);void deal(int n){// 计算结果double result;// 计算开始时间clock_t start;// 计算结束时间clock_t finish;// 计算花费的时间double duration;start=clock();result=fibonacci(n);cout<<"the result is "<<result<<endl;finish=clock();duration=((double)(finish-start))/CLOCKS_PER_SEC;cout<<"spent time is "<<duration<<"s"<<endl;}int main(int argc,char* argv[]){while(1){// 参数,表述计算的规模int n;cout<<"input the data n is: ";cin>>n;if(n>0){cout<<"采用非递归的方法进行求解:"<<endl;fibonacci=methodTwoFibonacci;deal(n);cout<<"采用递归的方法进行求解:"<<endl;fibonacci=methodOneFibonacci;deal(n);}else{cout<<"n is wrong,please input the n again!"<<endl;}}return 0;}四、实验结果采用递归算法时消耗太多的时间。
第1篇一、实验目的1. 掌握组合数字的基本概念和计算方法。
2. 理解组合数字在日常生活和科学研究中的应用。
3. 提高数学思维能力和解决问题的能力。
二、实验原理组合数字,又称组合数,是指从n个不同元素中,任取r个元素(r≤n),按照一定的顺序排列的方法数。
用符号C(n, r)表示,其计算公式为:C(n, r) = n! / [r! (n-r)!]其中,n!表示n的阶乘,即n! = n (n-1) (n-2) ... 2 1。
三、实验内容1. 理解组合数字的概念,掌握组合数字的计算公式。
2. 通过实例分析,加深对组合数字的理解。
3. 应用组合数字解决实际问题。
四、实验步骤1. 理解组合数字的概念,学习组合数字的计算公式。
2. 分析以下实例,计算组合数字:(1)从5个不同的数字中,任取3个数字,求组合数C(5, 3)。
(2)从7个不同的字母中,任取4个字母,求组合数C(7, 4)。
3. 应用组合数字解决实际问题:(1)已知一个班级有40名学生,从中任选10名学生参加比赛,求参加比赛的学生组合数。
(2)一个班级有6名男生和4名女生,从中任选3名学生担任班委,求班委的组合数。
五、实验结果与分析1. 计算结果:(1)C(5, 3) = 5! / [3! (5-3)!] = 10(2)C(7, 4) = 7! / [4! (7-4)!] = 352. 实际问题解答:(1)参加比赛的学生组合数:C(40, 10) = 40! / [10! (40-10)!] = 3,838,380(2)班委的组合数:C(6, 3) C(4, 0) = (6! / [3! (6-3)!]) (4! / [0!(4-0)!]) = 203. 分析:(1)通过计算组合数字,我们可以知道从n个不同元素中任取r个元素的方法数,这在实际生活中有广泛的应用,如选举、抽奖等。
(2)组合数字在解决实际问题中具有很高的价值,可以帮助我们找到最优解,提高工作效率。
简单的组合數學教案設計教案设计:简单的组合数学一、课程目标:1. 让学生理解并掌握组合数学的基本概念和原理。
2. 提高学生的逻辑思维能力和问题解决能力。
3. 培养学生的创新精神和实践能力。
二、教学内容:1. 组合的基本概念:介绍组合的定义,解释其与排列的区别。
2. 组合公式:讲解组合数的计算方法,并通过实例进行说明。
3. 应用举例:通过实际问题,让学生了解组合在生活中的应用。
三、教学过程:(一)引入新课:教师可以通过提问的方式引导学生思考生活中有哪些地方会用到组合的概念,如抽签、选课等。
(二)新知识讲解:1. 组合的基本概念:首先给出组合的定义,然后通过例子来解释组合和排列的区别。
例如,从5个不同的元素中选出3个元素,不考虑顺序的情况就是组合,而考虑顺序的情况就是排列。
2. 组合公式:讲解组合数的计算公式C(n,r)=n!/(r!(n-r)!),并通过具体的例子来进行演示。
(三)课堂练习:设计一些组合数的计算题目,让学生自己动手计算,然后请几个学生上台分享他们的答案和解题思路。
(四)课堂讨论:提出一些实际问题,让学生利用组合的知识来解决,例如,一个班级有30个学生,如果要选出5个学生组成一个小组,有多少种不同的选择方式?(五)课堂小结:总结本节课所学的内容,强调组合的重要性和应用。
四、作业布置:设计一些组合数的计算题目作为课后作业,以巩固学生对组合的理解和运用。
五、教学反思:在教学过程中,教师应注重观察学生的反应,适时调整教学策略,以提高教学效果。
同时,也要鼓励学生主动思考,积极参与,提高他们的学习兴趣和动力。
组合数学实训课程学习总结应用数学模型解决实际组合问题的思维培养组合数学是数学的一个重要分支,它研究的是离散对象的组合和排列问题。
在现实生活中,我们经常会面对各种组合问题,例如从一组元素中选取若干个元素,排列顺序或不考虑顺序的情况下产生的可能结果数量等。
组合数学实训课程的学习,让我深刻了解了组合数学的基本概念和方法,并培养了解决实际组合问题的思维能力。
首先,在组合数学实训课程中,我们学习了排列与组合的基本概念。
排列是从给定的一组元素中按照一定的顺序选取若干个元素的方式,而组合则是从给定的一组元素中选取若干个元素,不考虑其顺序。
通过学习这些基本概念,我们能够准确理解组合数学问题中的元素选取方式,为后续问题的解决奠定坚实的基础。
其次,组合数学实训课程通过大量的实例演练,帮助我们理解和掌握了应用数学模型解决实际组合问题的方法。
在实际生活中,我们常常会遇到如何选择或组合元素的问题,这些问题可以通过数学模型化简并得到精确的答案。
例如,在购买电影票时,我们可以选择多个人观影,同时还可以选择多个电影场次,这就是一个典型的组合问题。
通过在课程中的模型设计和解题实践,我们学会了将实际问题转化为数学模型,并运用组合数学的知识进行求解。
在实训过程中,我发现了数学模型的设计是解决组合问题的关键。
合理的数学模型能够明确问题的结构和要求,从而为问题的解决提供指导。
例如,在一个座位安排问题中,我们需要将n个人坐到m个座位上,同时还要考虑到每个座位的特殊需求。
通过针对不同的情境设计出不同的数学模型,我们能够更加灵活地解决各种实际组合问题。
此外,组合数学实训课程还注重培养我们的逻辑思维和分析问题的能力。
在解决组合问题时,我们需要仔细观察问题的要求,分析问题的关键点,灵活运用组合数学方法。
这些过程无疑对我们的思维能力有很大的锻炼作用。
通过课程中大量的练习和讨论,我逐渐养成了严密的思维习惯,能够快速而准确地解决各种组合问题。
综上所述,组合数学实训课程学习使我深刻认识到了组合数学在解决实际组合问题中的重要性。
大班数的组合数学教案引言本教案针对大班数的组合数学教学,通过引入实际场景和实践活动,旨在帮助学生理解和掌握组合数学的基本概念、原理和方法。
通过编写代码、探索实际问题和团队合作等学习方式,激发学生的兴趣和动手能力。
教学目标1.了解组合数学的基本概念和原理;2.掌握计算排列和组合的方法;3.能够运用组合数学解决实际问题;4.培养学生的逻辑思维和团队合作能力。
教学内容1.组合数学的基本概念–集合的概念和元素的特性;–排列和组合的区别和联系;–排列和组合的计算方法。
2.实践活动:计算团队组合方式–将学生分成若干个小组,每个小组的成员人数不同;–让学生计算出所有可能的小组组合方式,并列举出来;–分析每个小组组合方式的特点和可能的应用场景。
授课方法1.前期准备–教师准备教学材料和实践活动场地;–学生预习相关概念和计算方法。
2.教学过程–引导学生回顾集合的概念和元素的特性;–分组讨论,学生互相交流组合方式的计算方法;–教师进行概念讲解和计算方法的示范;–学生在实践活动中计算团队组合方式;–学生汇报和展示计算结果,讨论各种组合方式的特点和应用。
3.教学辅助工具–白板、黑板或投影仪展示教学材料;–随堂演示代码编写、计算工具和实践活动辅助材料。
教学评估1.学生参与度评估–观察学生在实践活动中的主动性和积极性;–评估学生在小组讨论和计算过程中的表现。
2.学生理解程度评估–学生完成作业,计算并列举出所有的团队组合方式;–学生口头答辩,解释计算过程和组合方式特点。
总结通过本次大班数的组合数学教学,学生能够了解和掌握组合数学的基本概念和计算方法,培养了学生的逻辑思维和团队合作能力。
通过实践活动,学生在解决实际问题中的应用能力得到了提升。
教学过程中,通过引入实际场景和实践活动,激发了学生的兴趣和动手能力,促进了学生自主学习和合作学习的能力的发展。
实验二递推关系的建立及求解
一、实验目的
1.熟悉Fibonacci序列;
2.熟悉汉诺塔问题;
3.进一步理解递归算法;
4.掌握递推关系的建立和求解。
二、实验准备
复习Fibonacci序列,汉诺塔问题及递推关系的求解方法。
三、实验内容
1.编写程序,分别用递归算法和非递归算法实现Fibonacci序列。
要求:输
入n,输出()
F n.
2.对汉诺塔问题建立递推关系,并编写程序求n个圆盘时移动的次数。
即输
入n,返回()
H n.并给出n=5和n=10时的结果。
3.在一个平面中,有n个圆两两相交,但任二个圆不相切,任三个圆无公共点,求这n个圆把平面分成多个区域?要求:①建立递推关系,并编写程序求解该递推关系,输入n,返回区域数()
a n;②给出n=8和n=12时的结果。
高中数学中的组合数学应用案例数学是一门抽象而又实用的学科,它在我们的日常生活中无处不在。
组合数学是数学中的一个重要分支,它涉及到选择、排列和组合等概念。
在高中数学中,我们经常会遇到一些组合数学的应用案例,下面就让我们来看几个有趣的例子。
案例一:排队问题小明所在的班级要进行一次出游活动,全班同学都要排队上车。
假设班级有30名同学,车上有20个座位,其中5个座位是特殊座位,只能给班干部坐。
那么,全班同学排队的方式有多少种可能性呢?解析:这是一个典型的组合数学问题,我们可以用组合数的概念来解决。
首先,我们需要选择5名班干部坐在特殊座位上,这可以用C(30,5)来表示。
接下来,剩下的25名同学可以随意排队,这可以用25!来表示。
所以,全班同学排队的方式一共有C(30,5) * 25!种可能性。
案例二:选课问题某高中有5个选修课程,学生可以选择其中的3门进行学习。
如果每门课程至少有一个学生选择,那么一共有多少种不同的选课组合呢?解析:这是一个组合数学中的排列问题。
首先,我们需要选择3门课程,这可以用C(5,3)来表示。
接下来,每门课程至少有一个学生选择,那么剩下的2个学生可以任意选择课程,这可以用2!来表示。
所以,不同的选课组合一共有C(5,3) * 2!种可能性。
案例三:分组问题某班级有20名学生,老师要将他们分成若干个小组,每个小组至少有3名学生,且每个小组的人数不能超过5人。
那么,老师一共可以分成多少个小组呢?解析:这是一个组合数学中的组合问题。
首先,我们需要确定小组的人数。
假设小组的人数为k,则k的取值范围为3≤k≤5。
我们可以用C(20,k)来表示选择k个学生组成一个小组的可能性。
接下来,我们需要确定小组的个数。
假设小组的个数为m,则m的取值范围为1≤m≤20/k。
所以,老师一共可以分成的小组数为∑(C(20,k) * C(20/k,m)),其中k的取值范围为3≤k≤5,m的取值范围为1≤m≤20/k。
初中数学几何图形的变换组合创新实验在初中数学的学习中,几何图形一直是一个重要的组成部分。
而通过对几何图形进行变换组合的创新实验,不仅能够加深我们对几何知识的理解,还能培养我们的空间想象力、逻辑思维能力和创新能力。
几何图形的变换组合,包括平移、旋转、轴对称等基本变换,以及将不同的几何图形进行拼接、组合等操作。
这些操作看似简单,实则蕴含着丰富的数学原理和规律。
比如说平移,它是指在平面内,将一个图形上的所有点按照某个方向作相同距离的移动。
在实际生活中,我们可以看到很多平移的例子,比如电梯的上下运动、抽屉的推拉等。
通过平移实验,我们可以发现,平移后的图形与原图形形状和大小完全相同,只是位置发生了改变。
而且,对应点所连的线段平行且相等,对应线段平行且相等,对应角相等。
再来说旋转,旋转是指一个图形绕着一个定点,按照一定的方向,旋转一定的角度。
像风扇的叶片转动、钟表的指针走动,都是旋转现象。
在旋转实验中,我们能了解到旋转中心、旋转方向和旋转角度这三个要素决定了图形的旋转。
旋转后的图形,其形状和大小不变,对应点到旋转中心的距离相等,对应线段的长度相等,对应角相等,对应点与旋转中心所连线段的夹角等于旋转角。
轴对称则是指一个图形沿着一条直线对折后,直线两旁的部分能够完全重合。
生活中的轴对称图形随处可见,如蝴蝶、京剧脸谱等。
经过轴对称实验,我们知道对称轴是对称点连线的垂直平分线,轴对称图形的对应线段相等,对应角相等。
而将不同的几何图形进行组合拼接,则能创造出更多新奇有趣的图形。
比如,我们可以用两个完全相同的等腰直角三角形,将它们的斜边拼接在一起,就能得到一个正方形;用两个相同的等边三角形,可以拼出一个平行四边形。
在进行这些变换组合创新实验时,我们可以通过手工制作、计算机软件模拟等多种方式来实现。
手工制作是一种非常直观且有趣的方式。
我们可以准备一些卡纸、剪刀、胶水等工具,剪出各种几何图形,然后按照自己的想法进行变换和组合。
组合数学实验实验一 Cayley树的生成实验二序数法生成全排列源代码:import java.io.*;import java.util.ArrayList;class Xushufa{public static void main(String args[]){Xushufa Xushufa = null;int num = 0;//要排序的个数boolean flag = true;//标志位,如果用户输入的待排序个数不合法,该值一直为trueArrayList<String> strs = new ArrayList<String>();while(flag){try{num = Integer.parseInt(readDataFromConsole("请输入待排序的个数:"));flag = false;}catch(Exception e){System.out.println("请输入整数.");}}for(int i = 1; i <= num; i ++){strs.add(readDataFromConsole("请输入第" + i + "个字符: ")); }Xushufa = new Xushufa(strs.toArray(new String[]{}));System.out.println("排列后的数据为:");Xushufa.sort();}private String[] str = null;public Xushufa(String[] s){this.str = s;}//从控制台读入数据private static String readDataFromConsole(String prompt) {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));String str = null;try {System.out.print(prompt);str = br.readLine();} catch (IOException e) {e.printStackTrace();}return str;}private void sort(){int num=str.length;int[] n1 = new int[num -1];int[] nss = new int[num];String[] s = new String[num];boolean flag = false;int x = 0;do{if(x == 0){//第一遍初始化for(int i = 0;i < num - 1;i ++){n1[i] = 0;}} else {//生成序数for(int i = 0;i < num - 1;i ++){if(n1[num - 2 - i] < i + 1){n1[num - 2 - i] ++;for(int j=num-1-i;j<num-1;j++){ n1[j] = 0;}break;}}}for(int i = 0;i < num - 1;i++){if(n1[i] == (num - 1 - i)){flag = false;} else {flag = true;break;}}for(int i = 0;i < num;i++){//标记位赋初值nss[i] = 0;}for(int i = 0;i < num - 1;i++){//计算排列顺序并为排列后的赋值int hh = 0, j = 0;//记录前边总共移动的位数do{if(nss[num - 1 - hh] == 1){hh++;continue;} else {if(j == n1[i]){break;//每个字母距最右端未填入的位置} else {hh++;j++;}}} while(true);hh = num - 1 - hh;s[hh] = str[num-1-i];nss[hh] = 1;}for(int i = 0; i < num;i++){//查找空缺位if(nss[i] == 0) {s[i] = str[0];break;}}System.out.print(++x + "\t");for(int i = 0;i < num - 1;i++){System.out.print(n1[i] + "");}System.out.print("\t");for(int i = 0;i < num;i++){System.out.print(s[i] + "");}System.out.println();}while(flag);}}运行结果:实验三字典序法生成全排列源代码:import java.util.Scanner;public class Zidianxufa {/*** @param args*/public static void main(String[] args) {// TODO自动生成方法存根Zidianxufa a = new Zidianxufa();Scanner input = new Scanner(System.in);System.out.print("请输入要排列的元素有多少种:");int count = input.nextInt();int[] p = new int[count];for (int i = 1; i <= p.length; i++) {p[i-1] = i;}boolean con;do {a.pr(p);//输出排列pcon = a.next(p);//求出按字典序排列的下一个排列p} while (con);}public int indexof(int[] n) {int index = -1;for (int i = n.length - 1; i >= 1; i--) {if (n[i-1] < n[i]) {index = i - 1;break;}}return index;}public int indexmin(int ini, int[] n) {int index = n.length - 1;int min = n[ini + 1];for (int i = ini + 1; i < n.length; i++) {if (n[i] <= min && n[i] > n[ini]) {min = n[ i ];index = i;}}return index;}public void swap(int index1, int index2, int[] n) {int temp;temp = n[index1];n[index1] = n[index2];n[index2] = temp;}public void oppositeDirection(int index1, int[] n) {for (int i = index1 + 1, j = n.length - 1, k = 0, temp; k <= (n.length - i) / 2; i++, j--, k++) {temp = n[i];n[i] = n[j];n[j] = temp;}}public boolean next(int[] n) {int index1 = indexof(n);if (index1 == -1) {return false;}int index2 = indexmin(index1, n);swap(index1, index2, n);oppositeDirection(index1, n);return true;}public void pr(int[] n) {for (int i = 0; i < n.length; i++) { System.out.print(n[i] + " "); }System.out.println();}}运行结果:实验四字典序法生成组合源代码:import java.io.BufferedWriter;import java.io.FileWriter;import java.util.Scanner;public class Zidian_zuhe {private int count,n,r;int[][] a;Zidian_zuhe(int n,int r){this.n=n;this.r=r;this.count=func(n)/func(n-r)/func(r);//生成算法a=new int[count+1][r+1];for(int i=1;i<=r;i++){a[1][i]=i;}for(int k=2;k<=count;k++)//每一种组合{int s;for(s=1;s<=r;s++){a[k][s]=a[k-1][s];//每组从上一个变化而来}int max=0;int i=0;for(s=1;s<=r;s++)//s1{if((a[k][s]<n-r+s) && (s>max)){max=s;i=max;}}a[k][i]++;//s2for(int j=i+1;j<=r;j++)//s3{a[k][j]=a[k][j-1]+1;}}//for(...) end//输出for(int s1=1;s1<=count;s1++)//共n的阶乘个,对于每一个+++++{System.out.print("第"+ s1 +"个:");System.out.print(" ");for(int i1=1;i1<=r;i1++){System.out.print(a[s1][i1]);}System.out.println();}}int func(int m1)//求阶乘{int result=1;while(m1>=1){result *=m1;m1--;}return result;}void output() throws Exception{ //输出FileWriter fw = newFileWriter("E://java_result//zidian_zh.txt");BufferedWriter bw = new BufferedWriter(fw);bw.newLine();int i,y;for(y=1;y<=count;y++){bw.write("第"+ y +"个:");for(i=1;i<=r;i++){bw.write(this.a[y][i]+" ");}}bw.close();}public static void main(String args[]){int d;System.out.println("字典序法生成组合,请输入可选集合元素的个数(正整数):");Scanner in=new Scanner(System.in);d=in.nextInt();d=(int)d;//输入System.out.println("请输入选取的元素的个数(正整数):");int d2;d2=in.nextInt();d2=(int)d2;Zidian_zuhe zidian=new Zidian_zuhe(d,d2);try{zidian.output();}catch(Exception e){System.out.println("文件写入异常。