首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。 [说明] 函数combine(a,b,c)是计算两个整数的组合数。由于计算结果可能超出10ng整型的可表示范围,故采用数组方式存储,例如:k位长整数m用数组c[]存储结构如下:m=
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。 [说明] 函数combine(a,b,c)是计算两个整数的组合数。由于计算结果可能超出10ng整型的可表示范围,故采用数组方式存储,例如:k位长整数m用数组c[]存储结构如下:m=
admin
2010-12-17
75
问题
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。
[说明]
函数combine(a,b,c)是计算两个整数的组合数。由于计算结果可能超出10ng整型的可表示范围,故采用数组方式存储,例如:k位长整数m用数组c[]存储结构如下:m=c[k]×10
k-1
+c[k-1]×10
k-2
+…+c[2]×10+c[1],利用c[0]存储长整数m的位数,即c[0]=k。数组的每个元素只存储长整数m的一位数字,长整数运算时,产生的中间结果的某位数字可能会大于9,这是就应该调用format将其归整,使数组中的每个元素始终只存储长整数的一位数字。
整数a和b(a>b)的组合数为:
,其中u1=a,u2]=a-1,…,ub=a-b+1,d1=1,d2=2,…,db=b。为了计算上述分式,先从u1,u2,…,ub中去掉d1×d2×…×db的因子,得到新的u1,u2,…,ub,然后再将它们相乘。
[函数]
#define NAXN 100
int gcd(int a,int b)//求两个整数a和b的最大公因子
{
if(a<b){
intC=a;a=b;b=c;
}
for(inti=b;i>=2;i--){
if( (1) )return i;
}
return 1;
void format(int *a)//将长整数数组归整
{
int i;
for(i=1;i<a[0]||a
>=10;i++){
if(i>=a[0]) (2);
a[i+1]+=a
/10;
a
=a
%10;
}
if(i>a[0]) (3);
}
void combine(int a,int b,int *C)
{
int i,J,k,x;
int d[MAXN],u[MAXN];
k=0;
for(i=a;i>=a-b+1;i--)u[++k]=i;
u[0]=b;
for(i=1;i<=b;i++)d
=i;
for(i=1;i<=u[0];i++){//从u中各元素去掉d中整数的因子
for(j=1;j<=b;j++){
x=gcd(u
,d[j]);//计算最大公约数
u
/=X;
d[j]/=x;
}
(4);C[1]=1;//长整数c初始化
for(i=1;i<=u[0];i++)(//将u中各整数相乘,存于长整数c中
if(u
!=1){
for(j=1;j<=c[0];j++){
C[j]=(5);
}
format(C);//将长整数c归整
}
}
}
(3)
选项
答案
a[0]=i
解析
转载请注明原文地址:https://kaotiyun.com/show/OvDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
采用折半查找算法有序表{7,15,18,21,27,36,42,48,51,54,60,72}中寻找值为15和38,分别需要进行______次元素之间的比较。
在单入口单出口的do…while循环结构中,______。
某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的数字表示活动的持续时间(天),则完成该项目的最少时间为________________天。活动FG的松弛时间为________________天。
某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的数字表示活动的持续时间(天),则完成该项目的最少时间为________________天。活动FG的松弛时间为________________天。
系统交付后,修改偶尔会出现乱码的问题,该行为属于________________维护。
若一个单处理器的计算机系统中同时存在3个并发进程,则同一时刻允许占用处理器的进程数________________。
在开发一个字处理软件时,首先快速发布了一个提供基本文件管理、编辑和文档生成功能的版本,接着发布提供更完善的编辑和文档生成功能的版本,最后发布提供拼写和语法检查功能的版本,这里采用了()过程模型。
下面为C语言程序,边界值问题可以定位在(45)。 int data(3), int i, for(i=1, i<=3, i++)data(i)=100
在引入自动化测试工具以前,手工测试遇到的问题包括()。①工作量和时间耗费过于庞大②衡量软件测试工作进展困难③长时间运行的可靠性测试问题④对并发用户进行模拟的问题⑤确定系统的性能瓶颈问题⑥软件测试过程的管
随机试题
TheThree-YearSolution[A]HartwickCollege,asmallliberal-artsschoolinupstateNewYork,makesthisoffertowell-prep
子宫颈原位癌的叙述正确的是()
肺炎链球菌性肺炎,应给予哪种治疗患儿6个月,发热气喘2天,查体:38.5t,呼吸70次/分,心率140次/分,喘憋明显,双肺广泛的哮鸣音和细湿罗音,为缓解症状,应加用
以下哪项工作属于二级预防
地基荷载板试验荷载板一般用刚性的方形板或圆形板,承压面积为2500cm2或5000cm2。()
项目成本分析的方法中,()可用来分析各种因素对成本的影响程度。
关于建设项目工程总承包的说法,正确的有()。【2009年考试真题】
已知:某公司现金收支平稳,预计全年(按360天计算)现金需要量为360000元,现金与有价证券的转换成本为每次300元,有价证券年均报酬率为6%。要求:计算最佳现金持有量下的全年有价证券交易次数和有价证券交易间隔期。
直线型思维障碍表现为()。
Hobbswasanorphan(孤儿).Heworkedinafactoryandeverydayhegotalittlemoney.Hardworkmadehimthinandweak.Hewante
最新回复
(
0
)