|
发表于 2017-1-12 22:46:28
|
显示全部楼层
此代码使用matlab编程
Problem7所用时间为1.1085秒
Problem7的答案为104743
- %题目7:找出第10001个质数
- function Output=Problem7(Input)
- if nargin==0
- Input=10001;
- end
- tic
- Sum=0;
- Start=1;
- while (Sum<Input)
- Start=Start+1;
- Judge=Prime_Judge(Start);
- if Judge==1
- Sum=Sum+1;
- end
- end
- Output=Start;
- toc
- disp('此代码使用matlab编程')
- disp(['Problem7所用时间为',num2str(toc),'秒'])
- disp(['Problem7的答案为',num2str(Output)])
- end
- %% 子程序
- %验证其是否为素数
- %若输入为素数则Judge为1,否则为0
- function Judge=Prime_Judge(Input)
- if Input==2
- Judge=1;
- else
- node=floor(sqrt(Input))+1;
- Judge=1;
- for ii=2:node
- if mod(Input,ii)==0
- Judge=0;
- break
- else
- end
- end
- end
- end
复制代码 |
|