试设计一个用回溯法搜索陈列空间树的函数。
该函数的参数包括结点可行性判定函数和上界函数等必要的函数,并将此函数用于解圆陈列问题。
圆陈列问题描述如下:给定n个大小不等的圆c1,c2,...,cn,现要将这n个圆排进一个矩形框中,且要求各圆与矩形框的底边相切。
圆陈列问题要求从n个圆的所有陈列中找出有最小长度的圆陈列。
例如,当n=3,且所给的3个圆的半径分别为1,1,2时,这3个圆的最小长度的圆陈列是1,2,1,其最小长度为2+4*sqr(2)。
编程任务:对于给定的n个圆,编程计算最小长度陈列。
2023/2/19 21:53:10 2KB 排列树
1
日立HitachiHGST硬盘c1门APM修改工具,支持1T硬盘HTS721010A9E630(2.1.7版本,里面包含FT217B1FT217B2FT217B1000三个文件,自在选用),也可参照PDF教程自行修改以支持更多硬盘
2020/10/12 16:40:58 6.92MB Hitachi HGST APM修改工具 HTS721010A9E630
1
描述:有两艘船,载重量分别是c1、c2,n个集装箱,重量是wi(i=1…n),且所有集装箱的总重量不超过c1+c2。
确定能否有可能将所有集装箱全部装入两艘船。
输入:多个测例,每个测例的输入占两行。
第一行一次是c1、c2和n(n<=10);
第二行n个整数表示wi(i=1…n)。
n等于0标志输入结束。
1
该资源包括1.0、1.1和1.2三个版本。
需求分析:1输入并建立多项式;
2输出多项式,输出方式为整数序列:n,c1,e1,c2,e2,,,,,,,cn,en,其中n是多项式的项数,ci,ei,分别是第i项的系数和指数,序列按指数降序排序;
3多项式a和b相加,建立多项式a+b;
4多项式a和b相减,建立多项式a-b;
5计算多项式在x处的值。
6计算器的仿真界面。
2015/4/12 11:19:46 2.38MB java 一元稀疏多项式 计算器
1
[例3.6]某对称离散信道的信道转移概率矩阵P为:1/31/31/61/61/61/61/31/3计算其最佳信源概率和信道容量C。
附:程序代码如下:#include#include#defineMAX50doubleCalculate_a(intk,doublepa[]);doubleCalculate_C1(doublepa[],doublea[]);doubleCalculate_C2(doublea[]);intr,s;doublepba[MAX][MAX];voidmain(){ inti,j;doubleC1,C2,E; doublea[MAX],pa[MAX]; E=0.000001; printf("请输出信源符号个数r:\n"); scanf("%d",&r); printf("请输出信宿符号个数s:\n"); scanf("%d",&s); printf("请输出精确度E:\n"); scanf("%lf",&E); printf("请输出信源P[ai]:\n"); for(i=0;i<r;i++) scanf("%lf",&pa[i]); printf("请输出信道转移概率矩阵P[bj][ai]:\n"); for(i=0;i<r;i++) for(j=0;j<s;j++) scanf("%lf",&pba[i][j]); do { for(i=0;i=E) { doublesum=0; for(i=0;i<r;i++) sum+=pa[i]*a[i]; for(i=0;i<r;i++) pa[i]=pa[i]*a[i]/sum; } else { printf("最佳信源概率:\n"); for(i=0;i=E);printf("信道容量为:%lf\n",C1/log(2));}doubleCalculate_a(intk,doublepa[]){ inti,j; doubletemp,sum2=0; for(j=0;j<s;j++) { doublesum1=0; for(i=0;i<r;i++) { sum1+=pa[i]*pba[i][j]; } temp=pba[k][j]/sum1; temp=log(temp); sum2+=pba[k][j]*temp; } returnexp(sum2);}doubleCalculate_C1(doublepa[],doublea[]){ inti; doublesum=0; for(i=0;i<r;i++) sum+=pa[i]*a[i]; returnlog(sum);}doubleCalculate_C2(doublea[]){ inti; doublemax=a[0]; for(i=0;i<r;i++) if(max<a[i])max=a[i]; returnlog(max);}
1
本人手动写的c++版本的重构例子。
原书上是Java的。
实测可行
2017/9/25 2:37:52 2.39MB 重构 c++
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡