2016数据结构基础(C语言版)习题及答案(英文版)Word格式文档下载.docx

上传人:b****9 文档编号:13003121 上传时间:2022-10-02 格式:DOCX 页数:171 大小:971.76KB
下载 相关 举报
2016数据结构基础(C语言版)习题及答案(英文版)Word格式文档下载.docx_第1页
第1页 / 共171页
2016数据结构基础(C语言版)习题及答案(英文版)Word格式文档下载.docx_第2页
第2页 / 共171页
2016数据结构基础(C语言版)习题及答案(英文版)Word格式文档下载.docx_第3页
第3页 / 共171页
2016数据结构基础(C语言版)习题及答案(英文版)Word格式文档下载.docx_第4页
第4页 / 共171页
2016数据结构基础(C语言版)习题及答案(英文版)Word格式文档下载.docx_第5页
第5页 / 共171页
点击查看更多>>
下载资源
资源描述

2016数据结构基础(C语言版)习题及答案(英文版)Word格式文档下载.docx

《2016数据结构基础(C语言版)习题及答案(英文版)Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《2016数据结构基础(C语言版)习题及答案(英文版)Word格式文档下载.docx(171页珍藏版)》请在冰豆网上搜索。

2016数据结构基础(C语言版)习题及答案(英文版)Word格式文档下载.docx

CHAPTER1

Chapter1,Pages16-17

Problem1.aThisstatementisapoorlyphrasedversionofFermat'

slasttheorem.Weknowthatwecanfindn>

2forwhich‚theequationholds.Fermatscribbledanoteonatextmarginindicatingthathehadfoundthesolutionforn=2.Unfortunately,theproofdiedwithhim.Becausethestatementisphrasedasaquestion‚ratherthanaclearlydefinedalgorithm,itlacksdefiniteness.

Problem1.bThisstatementviolatesnotonlytherulesofmathematics,butthecriterionofeffectiveness.Wecancomputeonlythosethingsthatarefeasible,anddivisionbyzeroismathematicallyundefined

Page17,Exercise3

#include#include#include

#defineTRUE1

#defineFALSE0

#defineMAX_STRING100voidtruth_table(int);

intmain(){intn;

printf("

n:

(>

=0):

"

);

scanf("

%d"

&

n);

while(n<

=0)

{/*errorloop*/printf("

}

truth_table(n);

voidtruth_table(intn)

{/*generateatruth_tablebytransforming#ofpermutationsintobinary*/

inti,j,div,rem;

charstring[MAX_STRING];

for(i=0;

i<

pow(2,n);

i++)

{/*numberofpermutationsorrowsinthetable*/strcpy(string,"

\0"

div=i;

for(j=n;

j>

0;

j--)

{/*numberofbitsneededforeachrow*/rem=div%2;

div=div/2;

if(!

rem)strcat(string,"

FALSE"

elsestrcat(string,"

TRUE "

%s\n"

string);

Page17,Exercise4

#include

intmin(int,int);

#defineTRUE1

intmain()

{

intx,y,z;

x:

x);

y:

scanf("

y);

z:

z);

if(min(x,y)&

&

min(y,z)){/*xissmallest*/printf("

%d"

x);

if(min(y,z))printf("

%d%d\n"

y,z);

elseprintf("

%d%d\n"

z,y);

elseif(min(y,x)&

min(y,z)){/*yisthesmallest*/printf("

y);

if(min(x,z))printf("

x,z);

z,x);

else

%d%d%d\n"

z,y,x);

intmin(inta,intb){

if(a<

b)returnTRUE;

returnFALSE;

Page17,Exercise7

doubleiterFact(int);

doublerecurFact(int);

scanf("

0)

{/*errorloop*/

%dfactorialis%f.\n"

n,iterFact(n));

printf("

n,recurFact(n));

doublerecurFact(intn)

{/*recursiveversion*/

if((n==0)||(n==1))return1.0;

returnn*recurFact(n-1);

doubleiterFact(intn)

{/*findthefactorial,returnasadoubletokeepitfromoverflowing*/

inti;

doubleanswer;

if((n==0)||(n==1))return1.0;

answer=1.0;

for(i=n;

i>

1;

i--)answer*=i;

returnanswer;

Page17,Exercise8

intiterFib(int);

intrecurFib(int);

%dFibonacciis%d.\n"

n,iterFib(n));

n,recurFib(n));

intrecurFib(intn)

if((n==0)||(n==1))return1;

returnrecurFib(n-1)+recurFib(n-2);

intiterFib(intn)

intfib,fib1,fib2;

if((n==0)||(n==1))return1;

fib1=fib2=1;

for(i=2;

=n;

i++){fib=fib1+fib2;

fib2=fib1;

fib1=fib;

returnfib;

Page17,Exercise9

doublerecurBinom(int,int);

doubleiterBinom(int,int);

doublerecurFact(intn);

intmain(){

intn,m;

m:

m);

while(m<

%dm:

%dRecursiveBinomialcoefficientis%f.\n"

n,m,recurBinom(n,m));

%dIterativeBinomialcoefficientis%f.\n"

n,m,iterBinom(n,m));

doubleiterBinom(intn,intm)

{/*definedasn!

/(m!

-(n-m)!

)*/inti;

doublenFact,mFact,nMinusMFact;

if(n==m)return1;

if((n==0)||(n==1))nFact=1;

else {

nFact=1;

i--)nFact*=i;

if ((m==0)||(m==1))mFact=1;

else{

mFact=1;

for(i=m;

i--)mFact*=i;

if(((n-m)==0)||((n-m)==1))nMinusMFact=1;

nMinusMFact=1;

for(i=n-m;

i--)nMinusMFact*=i;

returnnFact/(mFact*nMinusMFact);

doublerecurBinom(intn,intm)

returnrecurFact(n)/(recurFact(m)*recurFact(n-m));

Page17,Exercise11

#defineTower11

#defin

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 少儿英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1