|
发表于 2017-1-13 16:39:58
|
显示全部楼层
此代码使用matlab编程
Problem10所用时间为54.8729秒
Problem10的答案为142913828922
- %题目10:计算两百万以下所有质数的和
- function Output=Problem10(Input)
- tic
- if nargin==0
- Input=2000000;
- end
- Sum=2;
- Temp=3:Input;
- Temp1=4:2:Input;%筛选2的倍数
- Temp2=6:3:Input;%筛选3的倍数
- Temp3=10:5:Input;%筛选5的倍数
- Temp4=14:7:Input;%筛选7的倍数
- Temp5=22:11:Input;%筛选11的倍数
- New1=setdiff(Temp,Temp1);
- New2=setdiff(New1,Temp2);
- New3=setdiff(New2,Temp3);
- New4=setdiff(New3,Temp4);
- New5=setdiff(New4,Temp5);
- for ii=New5
- if isprime(ii)==1
- Sum=ii+Sum;
- end
- end
- Output=Sum;
- toc
- disp('此代码使用matlab编程')
- disp(['Problem10所用时间为',num2str(toc),'秒'])
- disp(['Problem10的答案为',num2str(Output)])
- end
复制代码 |
|