首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 函数combine(a,b,c)是计算两个整数的组合数。由于计算结果可能超出long整型的可表示范围,故采用数组方式存储,例如:k位长整数m用数组c口存储结构如下: m=c[k]
阅读以下说明和C代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 函数combine(a,b,c)是计算两个整数的组合数。由于计算结果可能超出long整型的可表示范围,故采用数组方式存储,例如:k位长整数m用数组c口存储结构如下: m=c[k]
admin
2014-10-11
41
问题
阅读以下说明和C代码,将应填入(n)处的字句写在答题纸对应栏内。
【说明】
函数combine(a,b,c)是计算两个整数的组合数。由于计算结果可能超出long整型的可表示范围,故采用数组方式存储,例如: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,这是就应该调用fonnat将其归整,使数组中的每个元素始终只存储长整型的一位数字。整数a和b(a≥b)的组合数为:
其中u
1
=a,u
2
=a—1,…,u
b
=a—b+1,d
1
=1,d
2
=2,…,d
b
=b。为了计算上述分式,先从u
1
,u
2
,…,u
b
中去掉d
1
×d
2
×…×d
b
的因子,得到新的u
1
,u
2
,…,u
b
,然后再将它们相乘。
【函数】
#define MAXN 100
int gcd(int a,int b)//求两个整数a和b的最大公因子
{
if(a
int c=a; a=b; b=c;
}
for(int i=b; i>=2; i一一){
if( (1) )return i;
}
return 1:
}
void format(int*a)//将长整型数组归整
{
int i;
for(i=1; i
>=1 0; i++){
i f(i >=a[0]) (2) ;
a[i+1] +=a
/10;
a
=a
%10;
}
if(i>a[0]) (3);
}
void combine(inta, intb, 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[O]j 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归整
}
}
}
选项
答案
(1)a%i==0&&b%i==0(2)a[i+1]=0(3)a[0]=i (4)c[0]=1(5)u[i]*c[j]
解析
函数gcd()是用来求最大公约数的,从“if(a
=a[0]”的情况下执行的,而for循环条件是“i
>=10”,则必然意味着“a
>=10”,需要进位调整,而接下来的语句“a[i+1]+=a[i1/10”暗示此时a[i+1]需要赋初值0。故空(2)应填“a[i+1]=0”。执行到空(3)调整已经结束,若if条件“i>a[0]”成立意味着整数归整后,位数已经突破了原来的a[0],需要调整为当前的位数。故空(3)应填“a[0]=i”。空(4)是初始化长整数c的,接下来的是乘法操作,因此初始化为1,即c[1]=1,显然应该将c[0]也初始化为1。故空(4)应填“c[0]=1”。从注释知空(5)所在的二重循环是将u中的各整数相乘存入c中,需要将c的每一位与u的每一位相乘,故空(5)应填“u
*c[j]”。
转载请注明原文地址:https://kaotiyun.com/show/ZaDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
己知某文档仅包含6种不同的字符,其每个字符出现的频率如下表所示,采用霍夫曼编码对该文档压缩存储,则单词“face”的编码为_______,该文档的压缩比为25%。
对n个关键码构成的序列采用简单选择排序法进行排序的过程是:第一趟经过n一1次关键码之间的比较,确定出最小关键码在序列中的位置后,再将其与序列的第一个关键码进行交换,第二趟则在其余的n一1个关键码中进行n一2次比较,确定出最小关键码的位置后,再将其与序列的第
若系统中有4个互斥资源R,当系统中有2个进程竞争R,且每个进程都需要i个R(i≤3)时,该系统可能会发生死锁的最小i值是________。
通常VLAN有静态和动态2种实现方式,这2种方式分别是如何实现的?各有什么特点?Switch1采用的是哪种实现方式?填充VLAN信息表如表9-3所示,将答案填写在答题纸相应位置。
通常VLAN有静态和动态2种实现方式,这2种方式分别是如何实现的?各有什么特点?Switch1采用的是哪种实现方式?在VLAN中,STP和VTP是什么协议?各有什么作用?
在应用服务器关机的情况下,公司员工能连接上因特网吗?简要解释。假设采用ISDN基本速率接口,下载1875KB的文件,最快需要多长时间?
造成故障1的原因是什么?如何解决?1.路由器2上采用了NAT技术。NAT中的动态地址翻译和IP地址伪装有什么区别?2.图4-2是路由器2上的地址伪装表,将图4-2中(1)~(5)处空缺的信息填写在相应位置。
限制MailUser邮件主机里每个用户的邮箱大小不超过10MB,如何配置?限制MailUser邮件主机里每个用户邮箱里所能存放的最多邮件数量不超过20个,如何配置?
阅读以下说明,回答问题1至问题3。[说明]某公司规模扩大,既要考虑保证目前土建装修的效果不被破坏,又要满足网络扩容和企业工作实际需求,同时还要保证投资不要过大。经过深入分析和研究对比,决定采用无线局域网组网来解决网络扩容的问题,网络拓扑如图1-1
在校园网设计过程中,划分了很多VLAN,采用了VTP来简化管理。1.VTP信息只能在(1)端口上传播。2.运行VTP的交换机可以工作在三种模式:(2)、(3)、(4)。3.共享相同VLAN数据库的交换机构成一个(5)。该校园网在
随机试题
保留样品的储存时间从取样日开始算起。
在下列接口中,可以用于连接鼠标的接口是__________。()
患者男性,70岁,进食后饱胀不适伴反酸5年余,黑便1天。胃镜检查提示:胃多发性溃疡(A1期)伴出血。13C呼气试验:Hp(+)。患者既往有高血压病史8年,口服替米沙坦、美托洛尔及硝苯地平控制血压。医嘱:0.9%氯化钠注射液100ml+注射用埃索美拉唑钠40
物业管理的委托方是业主,按物业产权归属物业管理的委托方有()主体。
对于技术状态正常的内燃机,用耳朵“听诊”,其运动部件是怎样的声音及变化情况?
在选择证券构造投资组合上,基金经理实施积极策略是指力图使得所持有的所有证券的权重均大于其在市场指数中的权重的策略。()
20世纪人们医学模式和健康观念的改变是由于()。
影响资本积累的因素有()。
A、 B、 C、 B
Youwillhearanotherfiverecordings.Fivepeoplearetalkingabouttheirreasonsforjoiningaparticularcompany.Foreac
最新回复
(
0
)