文档库

最新最全的文档下载
当前位置:文档库 > 数学实验4答案

数学实验4答案

第四次练习题

1、 编程找出

5,1000+=≤b c c 的所有勾股数,并问:能否利用通项表示 },,{c b a ?

>> for b=1: 995

a=sqrt((b+5)^2-b^2); if(a==floor(a))

fprintf('a=%i,b=%i,c=%i\n',a,b,b+5) end end

a=15,b=20,c=25 a=25,b=60,c=65 a=35,b=120,c=125 a=45,b=200,c=205 a=55,b=300,c=305 a=65,b=420,c=425 a=75,b=560,c=565 a=85,b=720,c=725 a=95,b=900,c=905

>> for c=6:1000 a=sqrt(c^2-(c-5)^2); if(a==floor(a))

fprintf('a=%i,b=%i,c=%i\n',a,c-5,c) end end

a=15,b=20,c=25 a=25,b=60,c=65 a=35,b=120,c=125 a=45,b=200,c=205 a=55,b=300,c=305 a=65,b=420,c=425 a=75,b=560,c=565 a=85,b=720,c=725 a=95,b=900,c=905

{a,b,c}={100*n^2-100*n+25,10*n^2-10*n,10*n^2-10*n+5}

2、编程找出不定方程

)35000(122<-=-y Dy x 的所有正整数解。(学号为单号

的取D=2, 学号为双号的取D=5)

D=2(学号为单号) >> for y=1:34999

x=sqrt(5*y^2-1); if(x==floor(x))

fprintf('x=%i,y=%i\n',x,y)

end end x=2,y=1 x=38,y=17 x=682,y=305 x=12238,y=5473

3、 设 ???==+=--1,121

2

1a a ma a a n n n , 编程计算.100a (学号为双号的取m=1)

输入:

an1=1;an2=1;an=0; for n=3:100

an=an1+an2;

an2=an1; an1=an; end

fprintf('N=%i,An=%i\n',n,an); 输出:

N=100,An=3.542248e+020

4、用Monte Carlo 方法计算圆周率π 输入: s=0;

for n=1:100000 r1=rand(1); r2=rand(1);

if r1^2+r2^2<=1 s=s+1; end end

pi=4*s/n;

fprintf('Pi=%E',pi); 输出:

Pi=3.141600E+000

5、实验十练习7:选取10 000对随机的b a ,,根据1),(=b a 的概率求出π的近似值. 输入 s=0;

for n=1:10000.

a=ceil(rand(1)*10000); b=ceil(rand(1)*10000); p=a;q=b; if(p

r=p;p=q;q=r;

end

while q~=0

r=q;q=mod(p,q);p=r;

end

if p==1

s=s+1;

end

end

pi=sqrt(6/(s/10000));

fprintf('Pi=%E',pi);

输出:

Pi=3.146065E+000>>

6、练习综合题(两题必须要选做一题,可查找各种资料)

2、12个篮球队A、B、C、D、E、F、G、H、I、J、K、L进行单循环比赛,其比赛结果如下:

B C D E F G H I J K L

A A胜C胜A胜A胜F胜G胜A胜I胜A胜K胜L胜

B B胜B胜B胜F胜G胜H胜B胜J胜B胜B胜

C D胜E胜C胜C胜C胜I胜C胜K胜L胜

D E胜D胜G胜D胜D胜J胜D胜L胜

E F胜E胜H胜E胜J胜K胜E胜

F G胜F胜I胜J胜F胜F胜

G H胜G胜G胜K胜L胜

H H胜J胜H胜L胜

I J胜I胜L胜

J J胜L胜

K K胜请你给各球队排一个合理的名次。

>> data=[

0 1 0 1 1 0 0 1 0 1 0 0

0 0 1 1 1 0 0 0 1 0 1 1

1 0 0 0 0 1 1 1 0 1 0 0

0 0 1 0 0 1 0 1 1 0 1 0

0 0 1 1 0 0 1 0 1 0 0 1

1 1 0 0 1 0 0 1 0 0 1 1

1 1 0 1 0 1 0 0 1 1 0 0

0 1 0 0 1 0 1 0 1 0 1 0

1 0 1 0 0 1 0 0 0 0 1 0

0 1 0 1 1 1 0 1 1 0 1 0

1 0 1 0 1 0 1 0 0 0 0 1

1 0 1 1 0 0 1 1 1 1 0 0

];

data+data';

win=sum(data,2);

[winsort,index]=sort(win,'descend'); char(index+'A'-1)

ans =

J

L

B

F

G

A

C D E H K I